投稿/コメントを表示します。

いつも大変お世話になっております。
一連のカレンダー作成マクロにて少しずつ理解しながらも四苦八苦している日々です。。。
その中での質問なのですが、今回の講座で最後に説明頂いている「Worksheets("Control").Range("A1")」を書き直す部分にて、with構文を利用して後述のマクロを書いてみました。が、正しく挙動せず・・・。
恐らくwith構文内にて自身の指定したいオブジェクトが、別のwith構文によってテレコになっているからなのかと思います。
それを踏まえてなのですが、後述マクロ内with構文①とwith構文②は構文内に構文が含まれる形となっておりますが、なぜこちらは意図する通りそれぞれ正しくオブジェクトが指定されるのでしょうか。
説明下手かつ理解不足で恐縮ですがご教示頂けると幸いです。
Sub ExeCreateCalendar18()
    Dim dtTp As Date
    Dim c As Long
    dtTp = dtFm
    c = 0
    
    Dim shSummary As Worksheet
    Set shSummary = Worksheets("Summary")
    Dim lnMx As Long
    lnMx = shSummary.Range("A65536").End(xlUp).Row + 1
    
    Dim rgSummary As Range
    Set rgSummary = shSummary.Range("A" & lnMx)
    Dim cYoko As Long
    Dim rgCtrl As Range
    With Range("A2")  'with?X?e?[?g?????g?@
        Do While Month(dtTp) = Month(dtFm)
            .Offset(c).Value = dtTp
            .Offset(c, 1).Value = WeekdayName(Weekday(dtTp))
            .Offset(c, 2).Value = #9:00:00 AM#
            .Offset(c, 3).Value = #5:00:00 PM#
            .Offset(c, 4).Formula = "=" & .Offset(c, 3).Address & "-" & .Offset(c, 2).Address
            For cYoko = 0 To 4
                rgSummary.Offset(c, cYoko).Formula = "='" & .Worksheet.Name & "'!" & .Offset(c, cYoko).Address
            Next
            With Worksheets("Control").Range("A1").Offset(Weekday(dtTp)) 'with?\????????????????????????
                With Range(.Offset(c), .Offset(c, 4))  'with?X?e?[?g?????g?A
                    .Interior.ColorIndex = .Interior.ColorIndex
                    .Font.ColorIndex = .Font.ColorIndex
                End With
                With Range(rgSummary.Offset(c, 0), rgSummary.Offset(c, 4))
                    .Interior.ColorIndex = .Interior.ColorIndex
                    .Font.ColorIndex = .Font.ColorIndex
                End With
            End With
            dtTp = DateAdd("d", 1, dtTp)
            c = c + 1
        Loop
    End With
End Sub

2020/05/31 21:36