
A B C
1 11AA→検索値 その都度かわります。場合によってはAAだけの場合もあります。
2 D Z H
3 C X G
4 E R J
.
.
.
260 H K
A1セルには検索値が入る(例:11AA)
抽出先シート名(シート名は毎回違う)→別ブックです
A B C....AA AB
1 D Z H 11 AA →11,AAは2つのセルに分かれている
2 C X G 11 AA
3 E R J 11 AA
.
.
.
260 H K 11 AA
という表があります。
転記させたいシートの検索ボタンを押すと
ファイルを開く画面
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")のマクロを入れて
今回開きたいファイルを開きます。
そうると転記させたいシート(シート名:検索表)の検索値A1セルの
11AAを検索値として、
検索範囲は別ファイルの例:A1からAB260の範囲で検索し
11 AAと完全一致したA,B,C列の値を
転記したいシートのA2を始点としてすべて転記したいです。
ちなみに抽出先シートにはフィルタがかかっています。
その場合はどのようにマクロを組めばよいでしょうか?
よろしくお願いします。

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です
>ある検索値を別ブックから参照し一致したすべての行で特定の列の値を返すが質問内容です。
曖昧なご質問ですが、仮に「別ブック」を変数wbとするならこんな感じで。
以下は、検索値の存在する行から、特定列(以下の例では仮にB列)の値を列挙する例です。
fugaシート内を検索していますが、ブック内の全シートを対象とするのなら、wb.workbooks内をfor Eachで回せばよいでしょう。
Const searchWord = "hogehoge"
Const colNo = 2
Set u = Nothing
With wb.Worksheets("fuga").Cells
Set f = .Find(what:=searchWord, LookAt:=xlWhole, LookIn:=xlValues)
If f Is Nothing Then Exit Sub
addr = f.Address
Do
If u Is Nothing Then Set u = f Else Set u = Union(u, f)
Set f = .FindNext(f)
Loop While f.Address <> addr And Not f Is Nothing
Set f = Intersect(u.EntireRow, .Columns(colNo))
'**** 仮の出力 ****
For Each c In f
Debug.Print c.Value
Next c
End With
No.1
- 回答日時:
こんにちは
何がご質問なのかよくわからないけれど・・・
>ちなみに抽出先シートにはフィルタがかかっています。
>その場合はどのようにマクロを組めばよいでしょうか?
・・・ってのが、ご質問でしょうか?
フィルタを気にせず、普通に転記すれば宜しいかと。
気持ちが悪ければ、フィルタを解除してから転記すれば良いでしょう。
Worksheets(hoge).AutoFilterMode = False
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】AブックからBブック...
-
VBAで別のブックにシートをコピ...
-
VBA シートをコピーする際に Co...
-
【ExcelVBA】インデックスが有...
-
Excel UserForm の表示位置
-
エクセルでシートを保護すると...
-
罫線の斜線を自動で引くマクロ
-
あああ..ああい..ああう とい...
-
「段」と「行」の違いがよくわ...
-
Excel VBAでのWorksheet_Change...
-
EXCELのダイアログシートって、...
-
DataGridViewでグリッド内に線...
-
Excelのフィルター後の一番上の...
-
vba マージエリアの行数を非表...
-
【エクセル】フリーワード検索...
-
マクロの相対セル参照記録って?
-
エクセルファイルを開いた回数...
-
ListViewで列を指定して表示さ...
-
アクティブになっている行をマ...
-
【マクロ】実行時エラー '424':...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
別ブックをダイアログボックス...
-
VBAで別のブックにシートをコピ...
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
VBA 実行時エラー 2147024893
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
【ExcelVBA】zip圧縮されたCSV...
-
Excelマクロ 該当する値の行番...
-
【Excel VBA】書き込み先ブック...
-
【VBA】全シートの計算式を全て...
-
Excelファイルを開くとき、読み...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
フォルダ内の全てのファイルに...
-
オブジェクトは、このプロパテ...
おすすめ情報
すみません。
質問内容は エクセル vba ある検索値を別ブックから参照し一致したすべての行で特定の列の値を返すが質問内容です。
更に詳しく補足します。
すみません。
転記させたいシートの検索ボタンを押すと
ファイルを開く画面
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")のマクロを入れて
今回開きたいファイルを開きます。
そうると転記させたいシート(シート名:検索表)の検索値A1セルの
11AAを検索値として、
検索範囲は別ファイルの例:A1からAB260の範囲で検索し
11 AAと完全一致したA,B,C列の値を
転記したいシートのA2を始点としてすべて転記したいです。
詳細は1番初めの投稿の表、添付した画像をご参照ください。