- 締切済み
エクセルVBAで他ブックのセルへジャンプするコード
お世話になります。アクティブセルから他ブックを開き、元の内容と同じ文字列が含まれるセルにジャンプするVBAのコードを教えていただけないでしょうか。 ・ブック1「12345」のアクティブセルでマクロボタンを押す。 ・指定のブック2シート1を開き、「12345」が含まれるセルを検索しジャンプ(アクティブセル)する。 ・指定の文字列が無い場合は「検索条件に一致するデータは見つかりません。」 ネットなどでいろいろ調べたのですが見つかりませんでした。みなさんご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nattocurry
- ベストアンサー率31% (587/1853)
まったく検証していませんが、明らかに間違っているところを。 Findメソッドの引数で、 What:="buf" と記述していますが、これだと buf という文字列を検索してします。 変数bufの内容で検索したいのであれば、 What:=buf としなければいけません。
- nattocurry
- ベストアンサー率31% (587/1853)
excel vba findメソッド これをキーワードにネット検索してみてください。 okbnr32さんなら、きっと解るはずです。 それでも解らないところがあったら、また質問してください。
- nattocurry
- ベストアンサー率31% (587/1853)
・アクティブセルの値(文字列)を取得し、変数に格納(代入)する。 ・指定のブック2を開き、シート1をアクティブにする。 ・開いたブック2のシート1で、取得した文字列を検索する。 ・文字列が無い場合は、メッセージを表示する。 ・文字列がある場合は、そのセルをアクティブにする。 これをやれば良いだけなのですが、解らないところはどこでしょうか?
補足
VBAに触り始めたばかりで、まだまだ勉強不足です。 とりあえず出来る範囲でやれるところまでやってみましたがわからないところだらけです。 この程度ですが、アドバイスお願い致します。 Sub 検索ブックのセルにジャンプ() 'アクティブセルの値(文字列)を取得し、変数に格納(代入)する Dim i As String i=1 '指定のブック2を開き、シート1をアクティブにする。 Workbooks.Open Filename:="F:\Book1.xls" Dim sheet1 As Worksheet Set sheet1 = Worksheets(1) sheet1.Activate 文字列を検索すし、アクティブセルにする。 >>わかりません。 '文字列が無い場合は、メッセージを表示する。 Else MsgBox "検索しましたが該当のデータは見つかりませんでした" End If End Sub
補足
お世話になっております。 なんとかいろいろ調べて書いてみたのですが、すぐ変数で引っかかってしまいました。他にも問題がありそうなのですが、ご教授お願いします。 Sub アクティブセルから他ブックセルへ移動() Dim buf As Range buf=ActiveCell Workbooks.Open Filename:= _ "C:\Documents and Settings\Administrator\My Documents\Excel\●●●.xls", ReadOnly:=True Cells.Find(What:="buf", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , MatchByte:=False, SearchFormat:=False).Activate Else MsgBox "検索しましたが該当のデータは見つかりませんでした" End Sub