日にち別シートを月分シートに転記するには?

Question 104.2 Previous Next
FAQにあります「当月分集計シートから日にち別シートを作成するには?」の逆パターンを教えてほしいです。 つまり、「日付別から当月分に集計するには」となります。
概要図 色々な人に伺いましたがいまいち出来が悪く、悩んできたところこのHPに たどり着き、内容は逆ですがVBAの中身が私がしたいのと同じでした。
ただ、苦手で読んでも理解できず、困っています。 会社で使いたいので、どうしても教えていただきたいです。
長文及び添付ファイルを後程送りたいと思います。
お返事を待たず勝手に送っても大丈夫なんでしょうか?
心配です。

お送りしたファイルには「○月分行動予定表」と「日にちのシート」があります。
左図のように、「日にちのシート」から「○月分行動予定表」に転記したいのです。
行動一覧表には、その日付の中で記載があったものだけを抽出して表示させたいのです。
ただ、日付別シートは、シート内に別の形をしたフォーマットがあり、解りやすくする為に
同じシート内に表を作成し、リンクさせたものにしています。(=B5を表示するという感じです)
それが、日付別に作成した表の形になります。 なので、VBAで作成すると、セル行と列番号の範囲が必要になると思います。 FAQであった一覧表から日付へ転記のVBA式の逆を知りたいのです。
ただ、VBAがよく解らないので、組み立てたれません。 教えていただけると大変助かります。
Answer   Copyright (C) 2011.1.14 永井善王
大変熱心に取り組んでみえますね。 しかし、ご質問文には、よく理解できない点があります。
第1は、「行動一覧表」とは 「行動予定表」のことですか。
第2は、青字の部分が理解できません。
第3は、「1日」シートが7行目から始まっているのに「2日」シートが1行目から始まっています。 3日以後のシートは1行目から始まっているということでいいのでしょうか。
なお、蛇足かも知れませんが、日にちシートの名前の数字部分は全角半角のどちらかに統一しておいた方がいいと思います。
「VBAがよく解らないので・・」ということなので逐一説明してあげるといいのですが、現在、初夏に出版する本の執筆中であまり時間が取れません。
そのため、上図でわかる範囲内で基本的なマクロを作成しておきます。 これを根気よく理解して、次のステップに進まれるように努力してください。
Sub 日にち別シートを月分シートに転記する()
    シート名 = "○月分行動予定表"
    Worksheets(シート名).Activate
    Range("A2:F" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents
    For Each 各シート In Sheets
        If Right(各シート.Name, 1) = "日" Then
            If 各シート.Name = "1日" Or 各シート.Name = "1日" Then
                開始行 = 8
            Else
                開始行 = 2
            End If
            下端行 = 各シート.Range("A" & Rows.Count).End(xlUp).Row
            各シート.Range("A" & 開始行 & ":F" & 下端行).Copy
            貼付行 = Range("A" & Rows.Count).End(xlUp).Row + 1
            Range("A" & 貼付行).PasteSpecial Paste:=xlPasteValues
        End If
    Next
End Sub
参考ページ
シートの上端と左端を調べて範囲選択する
For Each...Next
すべてコピー
形式を選んで貼り付ける

 

Excel VBA Macro