カレンダーマクロ作成2
前回の続きです。
今回はカレンダーの日付を入力後にカレンダーコントロールを消す処理と、特定のセルを選択した時にカレンダーコントロールを表示する方法を紹介します。
日付を選択したときにカレンダーコントロールの表示を消すコードです。
「カレンダーコントロール」をダブルクリックして前回のものに以下のコードを追加します。
Private Sub Calendar1_DblClick()
ActiveCell.Value = Calendar1.Value
ActiveSheet.Calendar1.Visible = False ← この行を追加する
End Sub |
日付を設定後にコントロールが消えます。
消えたままだと再設定などに不便なのでカレンダーの日付を入力するセルのを選択したときに表示するようにします。
B列5行目を選択したときにカレンダーコントロールを表示するコードです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$B$5" Then ActiveSheet.Calendar1.Visible = True End If End Sub |
余計な所でカレンダーが表示しないようになり、すっきりしました。
カレンダーコントロール日付設定
複数のセルに日付を選択する際に上記のコードを使用すると、前に設定した日付が表示されます。
カレンダーコントロールを表示すると今日の日付が表示されるように以下を設定します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$5" Then
ActiveSheet.Calendar1.Visible = True
ActiveSheet.Calendar1.Value = Date ← この行を追加する
End If
End Sub |
Dataの箇所をもう少し変更すると以下の設定ができます。
Data - 1 きのうの日付
Data + 1 明日の日付
Data + 7 一週間後の日付