エクセルvbaでフレーム上のカレンダーコントロール
エクセルvbaでユーザーフォームの中のフレーム上にカレンダーコントロール
をデフォルト非表示で配置しています。ボタンをクリックするとカレンダを表示状態にして、
日付をクリックしたらその値をテキストボックスに表示してカレンダの
表示を消すというコードを作りました。以下がそのコードです。
Private Sub 表示ボタン_Click()
cldCalendar.Visible = True
cldCalendar.SetFocus
End Sub
Private Sub cldCalendar_Click()
With cldCalendar
テキストボックス1 = .Value
テキストボックス1.SetFocus
.Visible = False
End With
End Sub
このコードだとカレンダーの日付をクリックしない限り、
ずっとカレンダは表示されたままになってしまいます。
カレンダからフォーカスが移った時非表示にしたいのですが、どうすればよいのでしょうか?
また非表示にしたいのは、フォーム上の特定のオブジェクトをクリックしたときだけではなく、
フォーム上の何もない場所など、とにかくカレンダ以外のすべてにおいてクリックしたり、
フォーカスが移動したらカレンダを非表示にしたいのです。
注文が細かくて恐縮なのですが、どなたか詳しい方教えてください。
お礼
うまく、いきました。 ありがとうございます。