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

エクセルVBA初心者です。

今エクセル2007で、下画像の上段・中段のような売上げシートを
ブックの中に複数シート作成しています。

シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。

売上日はシートの左上のA1セルに入力しています。

ここでしたい処理なのですが、画像の下段のように検索用の
シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に
該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。

今は手作業で、シートを目視で確認しているので大変になってきました。

よろしくお願いします。

※添付画像が削除されました。

A 回答 (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列には事前に日付の書式を取り付けておくこと


##
あるのでしょうかって,そりゃそういうプログラムを書けば良いだけでしょう。一体何が聞きたかったのですか?
    • good
    • 0

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