日付枠にメモが記入できるように表示位置を左揃えにし、カレンダー全体に細罫線を引きます。
・表示位置を左揃えにするには、範囲を指定しHorizontalAlignment=xlHAlignLeftで設定できます。
・罫線を細線に設定するには、範囲を選択しSelection.Borders.Weight=xlThinで設定できます。
・表全体に格子罫線を引くには、範囲を選択しSelection.Borders.LineStyle=xlContinuousで引くことができます。
シートのVBAコード
下記のコードを変更してください
'カレンダーを作成
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
Dim nrow As Integer
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)
nrow = 2
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)
nrow = nrow + 1
Else
scell = A1Add(scell, 0, 1)
End If
Next
If nc = 0 Then
nrow = nrow - 1
End If
'日付の表示位置
ActiveSheet.Range(ActiveSheet.Range(startcell).Offset(2, 0), _
ActiveSheet.Range(startcell).Offset(nrow, 6)).HorizontalAlignment = _
xlHAlignLeft
'罫線を引く
ActiveSheet.Range(ActiveSheet.Range(startcell).Offset(1, 0), _
ActiveSheet.Range(startcell).Offset(nrow, 6)).Select
Selection.Borders.Weight = xlThin
Selection.Borders.LineStyle = xlContinuous
ActiveSheet.Range(startcell).Select
End Sub
実行結果
日付がセルの左に表示され、カレンダー全体に罫線を引くことができました。