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

前々月分のデータが格納されたブック book1
前月分のデータが格納されたブック book2
今月分のデータが格納されたブック book3
があるとします。
それとは別に、検索&表示用のブックがあるとします。
検索&表示用のブックに検索セルとマクロを設置し、検索セルに文字列を入力しボタンを押下で、指定したブックからフィルターオプションで文字列を含むデータを抽出し指定の位置に貼り付けする動作まではできました。
質問が2点あります。
同じフィルターオプションをそれぞれのブックから連続で行い、前の貼り付けの次の行から連続で貼り付けるにはどうすれば良いですか?(3つのブックからの抽出データが連続で貼り付けられる感じです。)

もう一つ、ブック名を指定せず、「いま開いている3つのブック名」を自動で指定したい場合はどうすれば良いですか?

わかりにくくて申し訳ありません。

A 回答 (5件)

一応ですけど



> もう一つ、ブック名を指定せず、「いま開いている3つのブック名」を
> 自動で指定したい場合
フォルダ指定でブックを読み込むようにクエリを設定して展開してやれ
ばいちいちブック名を選択する必要もありません。

最初のブックをどう展開するかだけ指定してやれば 他のものも同じよう
に展開されます。

[データ]→[データの取得と変換]の[データの取得]
→[ファイルから]→[フォルダから]
→フォルダパスを指定して[OK]
→[データの結合と変換]
→最初のファイルの取り込み方を指定して[OK]

これでデータ連結は完了。これを接続のみで作成しておいて キーワード
のテーブルとマージしてやればいいでしょう。 こっちはさすがにネット
で検索すれば やり方が見つかると思います。
    • good
    • 0

そんな面倒なことをしなくても クエリでデータを連結(「クエリの追加」)して


おいてキーワードの文字列を入力するテーブルと 連結したテーブルをマージして
やればいいでしょう。

この場合 キー入力の時点で更新がかかるように Changeイベントを入れるくらい
で済みます。
    • good
    • 1

気にはなるけど気にしてないのかわかりませんが、



>同じフィルターオプションをそれぞれのブックから連続で行い、前の貼り付けの次の行から連続で貼り付けるにはどうすれば良いですか?(3つのブックからの抽出データが連続で貼り付けられる感じです。)

こう言う質問で気にしちゃうのは『読み込むBookに順番指定はあるのだろうか?』ですかね。
例えばBook名が『年・月』を使った物ならそこから判断させることも可能かもですし。(初級レベルの爺様には難しいですけど)
    • good
    • 0

ごめんなさい。

補足です
wb.sheets(XXX).Cells(Rows.Count, 1).End(xlUp).Row 行番号
wb.sheets(XXX).Cells(Rows.Count, 1).End(xlUp).Offset(1) 新規行A列セル
XXXはターゲットシート名
    • good
    • 0

こんばんは、


>同じフィルターオプションをそれぞれのブックから連続で行い、前の貼り付けの次の行から連続で貼り付けるにはどうすれば良いですか?(3つのブックからの抽出データが連続で貼り付けられる感じです。)

下記のFor内にフィルターオプション設定処理、及び実行処理を入れれば良いかと

勿論、毎回変わる、貼り付け先シートの最終行取得なども必要です wb.sheets(XXX).Cells(Rows.Count, 1).End(xlUp).Row
(フィルターオプション設定が毎回変わる場合は、事前に配列やレンジでSetしておくとかになるかな)

>もう一つ、ブック名を指定せず、「いま開いている3つのブック名」を自動で指定したい場合はどうすれば良いですか?
 Dim wb As Workbook
 For Each wb In Workbooks
  Debug.Print wb.Name
 Next
    • good
    • 0

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