人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: kaiketsu
●カテゴリ:コンピュータ
✍キーワード:VBA アクティブ エクセル ダメ マクロ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント ベストアンサー

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ