Excelでカレンダーを作ってみよう

Step 7 日付をセット


メニューに戻る

スポンサーリンク





シートコード

下記のコードを変更してください

'カレンダーを作成
Private Sub ExCalenSetSub(mm As Integer)
    Dim i As Integer
    Dim nlast As Integer
    Dim nc As Long
    Dim scell As String
    Dim startcell As String
    Dim s As String
    Dim tdate As Date
    
    startcell = Range("C5")
    scell = startcell
    tdate = Format(Range("C6") & "/" & mm & "/1", "yyyy/mm/dd")
    nlast = MonthLastDay(Range("C6"), mm)
    
    Sheets(mm & "月").Select
    Sheets(mm & "月").Activate
    
    '月のセット
    ActiveSheet.Range(scell).Offset(0, 3) = mm & "月"
    '中央に表示
    ActiveSheet.Range(scell).Offset(0, 3).HorizontalAlignment = xlHAlignCenter

    scell = Range("C5")
    
    Sheets(mm & "月").Select
    Sheets(mm & "月").Activate
    
    For i = 1 To 7
        Select Case i
            Case 1: s = "日"
            Case 2: s = "月"
            Case 3: s = "火"
            Case 4: s = "水"
            Case 5: s = "木"
            Case 6: s = "金"
            Case 7: s = "土"
        End Select
        '曜日をセット
        ActiveSheet.Range(scell).Offset(1, i - 1) = s
        '中央に表示
        ActiveSheet.Range(scell).Offset(1, i - 1).HorizontalAlignment = xlHAlignCenter
    Next
    '日曜日の色
    ActiveSheet.Range(ActiveSheet.Range(scell), _
        ActiveSheet.Range(scell).Offset(7, 0)).Font.Color = vbRed
    
    '土曜日の色
    ActiveSheet.Range(ActiveSheet.Range(scell).Offset(0, 6), _
        ActiveSheet.Range(scell).Offset(7, 6)).Font.Color = vbBlue
    
    '開始の曜日
    nc = Weekday(tdate) - 1
    '開始のセル位置
    scell = A1Add(scell, 2, nc)
    
    For i = 1 To nlast
        '祭日のチェック
        If GetSaijituName(tdate) <> "" Then
            ActiveSheet.Range(scell).Font.Color = vbRed
        End If
        tdate = tdate + 1
        
        '日付のセット
        ActiveSheet.Range(scell) = i
        nc = nc + 1
        If nc = 7 Then
            nc = 0
            scell = A1Add(scell, 1, -6)
        Else
            scell = A1Add(scell, 0, 1)
        End If
    Next
End Sub

スポンサーリンク



実行結果

カレンダーの日付がセットされました




メニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved