
こんばんわ。マクロ初心者です。
皆さんいつも親切なご回答ありがとうございます。
早速ですが質問内容を記入いたします。
・ブック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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
VBA 検索して一致したセルへジャンプさせたい
その他(プログラミング・Web制作)
-
-
4
エクセルVBAで、複数セルのデータをひとつのセルに改行してまとめたいのですか・・・
Excel(エクセル)
-
5
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
6
Excel マクロ VBA 別シートのセルを検索し、該当するセルの右にあるセルを入力させる方法 s
Visual Basic(VBA)
-
7
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
8
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
9
【VBA】 別シートを検索し、一致した値より指定した数だけ移動したセルから下全てをコピペ
Excel(エクセル)
-
10
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
11
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
勃起する時って痛いんですか? ...
-
腕を見たら黄色くなってる部分...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
増減表のプラスマイナスの符号...
-
レインボーシックスシージをし...
-
採血後の内出血 先週の金曜日に...
-
足がまだら模様になります。ど...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
アクエリアスが苦く感じる
-
値が入っているときだけ計算結...
-
病院側から早く来てくださいと...
-
イタリアから帰国する際、肉製...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報