![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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を始点としてすべて転記したいです。
ちなみに抽出先シートにはフィルタがかかっています。
その場合はどのようにマクロを組めばよいでしょうか?
よろしくお願いします。
![「エクセル vba ある検索値を別ブックか」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/543034309_5fa1628e4ce74/M.png)
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) 別のファイルへ条件を指定してセルの値を転記したい 4 2022/04/04 15:38
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) Excelについて質問です。 シート1の検索値例えば *ABC* をシート2.3.4から検索して、シ 5 2023/02/17 23:30
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) エクセルVLOOK関数について 3 2022/07/05 08:45
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
VBAで別ブックの列を検索し、該当があれば行ごと新規ブックにコピーしたい。
Excel(エクセル)
-
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
複数条件が一致で別シートに転記【エクセルVBA】
Excel(エクセル)
-
-
4
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
5
[初心者です]VBAで指定列からAを検索し、発見したら隣のセルに値0を入れるマクロ。
Access(アクセス)
-
6
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
7
条件にマッチする行を抽出するVBAを教えてください
経営情報システム
-
8
excel VBA 特定の文字列を含むフォルダを開く方法
Excel(エクセル)
-
9
Excel 別ブックから該当データを検索、必要データを元ブックへ転記する方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワイルドカード「*」を使うとう...
-
VBA シート名が一致した場合の...
-
【ExcelVBA】zip圧縮されたCSV...
-
マクロVBA 1シートをまとめ...
-
VBで既存エクセルシートを新規...
-
CSVファイルをEXCELで編集する...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
VBA コードを実行すると画面が...
-
教えて下さい!VBAで複数Excel...
-
vbaで他のブックに転記したい。...
-
再質問です。マクロの修正箇所...
-
vba 2つの条件が一致したら...
-
あああ..ああい..ああう とい...
-
【Excel関数】UNIQUE関数で"0"...
-
B列の最終行までA列をオート...
-
Excel UserForm の表示位置
-
[EXCEL]ボタン押す→時刻が表に...
-
VBA 別ブックからの転記の高速...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
別ブックをダイアログボックス...
-
VBAで別ブックのシートを指定し...
-
Excelのマクロについて教えてく...
-
VBA 別ブックからコピペしたい...
-
Excelのマクロについて教えてく...
-
vbaでvbaProjectのパスワード解...
-
VBA コードを実行すると画面が...
-
【マクロ】アクティブセルにブ...
-
Excelのマクロについて教えてく...
-
VBAで別のブックにシートをコピ...
-
VBS Bookを閉じるコード
-
Excelのマクロについて教えてく...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
ACCESSVBA からExcelの他ブック...
-
vbaで他のブックに転記したい。...
-
【マクロ】違うフォルダにある...
おすすめ情報
すみません。
質問内容は エクセル vba ある検索値を別ブックから参照し一致したすべての行で特定の列の値を返すが質問内容です。
更に詳しく補足します。
すみません。
転記させたいシートの検索ボタンを押すと
ファイルを開く画面
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")のマクロを入れて
今回開きたいファイルを開きます。
そうると転記させたいシート(シート名:検索表)の検索値A1セルの
11AAを検索値として、
検索範囲は別ファイルの例:A1からAB260の範囲で検索し
11 AAと完全一致したA,B,C列の値を
転記したいシートのA2を始点としてすべて転記したいです。
詳細は1番初めの投稿の表、添付した画像をご参照ください。