
こんばんわ。マクロ初心者です。
皆さんいつも親切なご回答ありがとうございます。
早速ですが質問内容を記入いたします。
・ブックA を開いています。
選択している行のC列セルの値を検索キーワードにして、
ブックB 内を検索し、検索結果のセルの3つ左のセルの値を、
ブックA で選択していたセルの同じ行のO列(15列目)に入力したいです。
※ブックBをアクティベートする事無く行えますでしょうか?
(他の処理と組合わせて行い、回数も多いので、
ブックA⇔ブックB アクティベートの往復は避けたいです。)
下のようなマクロを作成してみましたがうまくいきません。
どうかご指導よろしくお願いいたします。
---------------------------------------------------------------
dim 検索品目 as string
dim fcell as object
dim i as integer
i = Selection.Row
'選択行の3列目セルの値を変数『検索品目』に格納
検索品目 = Cells(i, 3).Value
'オブジェクト変数『fcell』に検索したセルを格納
Set fcell = Cells.Find(What:=検索品目, After:=Workbooks("ブックB.xls").Worksheets("sheet1").Range("G2"), LookAt:=xlWhole, searchorder:=xlByColumns)
'検索したセルの3行左のセルの値を変数『オーダ番号』に格納
オーダ番号 = fcell.Offset(, -3).Value
'ブック A の選択行の15列(O列)にデータ入力
Cells(i, 15) = オーダ番号
No.1ベストアンサー
- 回答日時:
>下のようなマクロを作成してみましたがうまくいきません。
どううまく行かないのか、エラーがでるのであれば
どの行ででるのかも記されると良いと思います
Findの使用方法をちゃんと理解できていないようですね
初心者にはFor~Nextの方が使いやすいのではと思います
あと、何(book、sheetなど)を対象に処理をしているのかを明確にされた方が良いと思います
これを踏まえて、コードを変更してみました
Sub test()
Dim 検索品目 As String
Dim オーダ番号 As Integer
Dim i As Long
Dim x As Long
i = ActiveCell.Row
'選択行の3列目セルの値を変数『検索品目』に格納
With Workbooks("ブックA.xls").Worksheets("sheet1")
検索品目 = .Cells(i, 3).Value
End With
'for~nextを使用した検索
With Workbooks("ブックB.xls").Worksheets("sheet1")
For x = 2 To .Range("G65536").End(xlUp).Row
If .Cells(x, 7).Value = 検索品目 Then
'検索したセルの3行左のセルの値を変数『オーダ番号』に格納
オーダ番号 = .Cells(x, 7).Offset(, -3).Value
Exit For
End If
Next
End With
'ブック A の選択行の15列(O列)にデータ入力
With Workbooks("ブックA.xls").Worksheets("sheet1")
.Cells(i, 15) = オーダ番号
End With
End Sub
参考まで
ご回答ありがとうございます!
for-nextを使用して検索するなんて、考えもしませんでした。
その他ネストのさせ方、withの使い方等、とても勉強になりました。
やりたかった事が実現できました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
Excel マクロ VBA 別シートのセルを検索し、該当するセルの右にあるセルを入力させる方法 s
Visual Basic(VBA)
-
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
-
4
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
5
【VBA】 別シートを検索し、一致した値より指定した数だけ移動したセルから下全てをコピペ
Excel(エクセル)
-
6
VBA 列全体を別シートの列と比較し、同じ値がある行の、右端に値をコピーする方法について
Excel(エクセル)
-
7
エクセルVBAで、複数セルのデータをひとつのセルに改行してまとめたいのですか・・・
Excel(エクセル)
-
8
VBA 検索して一致したセルへジャンプさせたい
その他(プログラミング・Web制作)
-
9
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
10
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
11
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
12
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
13
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
VLOOKUP関数を使用時、検索する...
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
excelでsin二乗のやり方を教え...
-
Excel 数値の前の「 ' 」を一括...
-
尿検査前日に自慰行為した時の...
-
EXCELで式からグラフを描くには?
-
彼女のことが好きすぎて彼女の...
-
2つの数値のうち、数値が小さい...
-
【Excelで「正弦波」のグラフを...
-
腕を見たら黄色くなってる部分...
-
精液の落とし方を教えてください
-
ある範囲のセルから任意の値を...
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
病院側から早く来てくださいと...
-
Excel 0目標に対して数字があ...
-
EXCELで条件付き書式で空白セル...
-
化合物のモル吸光係数データベ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報