アプリ版:「スタンプのみでお礼する」機能のリリースについて

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 ある検索値を別ブックか」の質問画像

質問者からの補足コメント

  • すみません。
    質問内容は エクセル vba ある検索値を別ブックから参照し一致したすべての行で特定の列の値を返すが質問内容です。

      補足日時:2020/11/04 10:50
  • 更に詳しく補足します。
    すみません。
    転記させたいシートの検索ボタンを押すと
    ファイルを開く画面
    OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?")のマクロを入れて
    今回開きたいファイルを開きます。
    そうると転記させたいシート(シート名:検索表)の検索値A1セルの
    11AAを検索値として、
    検索範囲は別ファイルの例:A1からAB260の範囲で検索し
    11 AAと完全一致したA,B,C列の値を
    転記したいシートのA2を始点としてすべて転記したいです。
    詳細は1番初めの投稿の表、添付した画像をご参照ください。

      補足日時:2020/11/04 11:53

A 回答 (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
    • good
    • 0

こんにちは



何がご質問なのかよくわからないけれど・・・

>ちなみに抽出先シートにはフィルタがかかっています。
>その場合はどのようにマクロを組めばよいでしょうか?
・・・ってのが、ご質問でしょうか?

フィルタを気にせず、普通に転記すれば宜しいかと。
気持ちが悪ければ、フィルタを解除してから転記すれば良いでしょう。
 Worksheets(hoge).AutoFilterMode = False
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています