エクセルのVBAについての質問です。あるブックのあるシートのある行について行方向の検索を別のブックのマクロからかけたいのですどう書くのが、いいのでしょうか? アクティブなブックを移動するば簡単なのですが、どのブックがアクティブかを意識する必要があるので、できたら別ブックをアクティブにしたままでやりたいのです。可能なのでしょうか? 肯定的な回答をお願いします。確実にダメな場合には、じゃないですかではなく、確実にだめだという情報をお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/21 21:04:05
  • 終了:2010/03/21 23:26:54

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/03/21 21:38:15

ポイント60pt

別のブックでもアクティブでなくてもやることは一緒かな。例えば

Sub test()
    Dim myRange As Range
    Dim res As Range
    
    '場所を指定
    Set myRange = Workbooks("test.xls").Worksheets("Sheet1").Rows(1)
    
    Set res = myRange.Find("hogehoge", lookat:=xlWhole, MatchCase:=True, MatchByte:=True)
    If Not res Is Nothing Then
        Debug.Print res.Column
    Else
        Debug.Print "なし"
    End If
End Sub

ここでは開いているtest.xlsのシート1の1行目から検索して値を持ってきます。

場所を特定する変数に格納してしまえばアクティブとかは関係ないのでそのまま使えます。

開いてないブックからは、コード中一旦開いて閉じる処理にすればいいだけです。

http://excelvba.pc-users.net/fol7/7_1.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません