- ベストアンサー
エクセル複数シートの検索とVBA
エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。
- みんなの回答 (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列には事前に日付の書式を取り付けておくこと ## あるのでしょうかって,そりゃそういうプログラムを書けば良いだけでしょう。一体何が聞きたかったのですか?