• ベストアンサー

エクセル複数シートの検索とVBA

エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim w as worksheet  dim w0 as worksheet  dim res as range  dim h as range  dim c as string ’初期化  set w0 = worksheets("検索シート")  w0.range("E2:H999").clearcontents  set res = worksheets("検索シート").range("E2") ’シートの巡回  for each w in worksheets   if w.name <> "検索シート" and isdate(w.range("A1")) then  ’マンゴーの検索   set h = w.cells.find(what:=w0.range("B2"), lookin:=xlformulas, lookat:=xlwhole)   if not h is nothing then    c = h.address    do       ’転記     res.offset(0, 2).resize(1,2).value = h.offset(0, 1).resize(1,2).value     res.offset(0, 1) = w.range("A1")     res = w0.range("B2")     set res = res.offset(1)     set h = w.cells.findnext(after:=h)    loop until h.address = c   end if  end if  next end sub #F列には事前に日付の書式を取り付けておくこと ## あるのでしょうかって,そりゃそういうプログラムを書けば良いだけでしょう。一体何が聞きたかったのですか?

関連するQ&A