ユーザーフォームでカレンダーによる日付入力を指定のセルに行っていますが、作成した時の月が(保存した時の状態)毎回表示されてしまいます。
毎回カレンダーが表示された時に当月のカレンダーが開くようにするにはどうしたらよいですか?
カレンダーコントロールのことかと思いますが、ユーザフォームを表示する直前にカレンダーの日付を
設定すればよいと思います。
ユーザフォームが UserForm1、カレンダーコントロールが Calender1 だとすると、
シートモジュールで下記のようにし
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) UserForm1.Show Cancel = True End Sub
ユーザフォームで
Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value Unload Me End Sub Private Sub UserForm_Initialize() UserForm1.Calendar1.Year = Year(Date) UserForm1.Calendar1.Month = Month(Date) UserForm1.Calendar1.Day = Day(Date) End Sub
となっていれば、シートのセルをダブルクリックするたびに、日付入力が起動しますが、
カレンダーは毎回本日にリセットされて表示されます。
カレンダーコントロールのことかと思いますが、ユーザフォームを表示する直前にカレンダーの日付を
設定すればよいと思います。
ユーザフォームが UserForm1、カレンダーコントロールが Calender1 だとすると、
シートモジュールで下記のようにし
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) UserForm1.Show Cancel = True End Sub
ユーザフォームで
Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value Unload Me End Sub Private Sub UserForm_Initialize() UserForm1.Calendar1.Year = Year(Date) UserForm1.Calendar1.Month = Month(Date) UserForm1.Calendar1.Day = Day(Date) End Sub
となっていれば、シートのセルをダブルクリックするたびに、日付入力が起動しますが、
カレンダーは毎回本日にリセットされて表示されます。
いつもありがとうございます。
「ユーザフォームを表示する直前にカレンダーの日付を設定」とのこと。
さっそく明日会社でトライしてみます!
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips06.htm
カレンダーは 何を使っているのか わかりませんが、
だいたい、日付をセットする場合は、取得するのとは 逆の動作をします。
つまり、日付を入れてあげればいいのです。
今日の日付をセットしてみてください。
明日会社で、どのカレンダーを使っているか確認してみます!
HP参考にさせていただきます!
ありがとうございます!
いつもありがとうございます。
「ユーザフォームを表示する直前にカレンダーの日付を設定」とのこと。
さっそく明日会社でトライしてみます!