
エクセル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
このコードだとカレンダーの日付をクリックしない限り、
ずっとカレンダは表示されたままになってしまいます。
カレンダからフォーカスが移った時非表示にしたいのですが、どうすればよいのでしょうか?
また非表示にしたいのは、フォーム上の特定のオブジェクトをクリックしたときだけではなく、
フォーム上の何もない場所など、とにかくカレンダ以外のすべてにおいてクリックしたり、
フォーカスが移動したらカレンダを非表示にしたいのです。
注文が細かくて恐縮なのですが、どなたか詳しい方教えてください。
No.2ベストアンサー
- 回答日時:
こんばんは。
カレンダ・オブジェクトは、場所をとるからというのは分かるのですが、実際に、どの程度で満足していただけるのか、分からないので回答を付けづらいものがありますね。
あまり、思ったとおりではないかもしれません。
Private Sub cldCalendar_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'カレンダ・オブジェクトから抜けたとき
cldCalendar.Visible = False
End Sub
Private Sub UserForm_Click()
'ユーザーフォーム自身をクリック(トグル)
cldCalendar.Visible = Not cldCalendar.Visible
End Sub
コントロールの数が少なければ、全部に取り付けてしまっても良いかもしれません。
教えてくださったコードと以下のフレームをクリックしたときのコードで
カレンダが別の場所をクリックしたとき消えるようになりました。
Private Sub frame_Click()
cldCalendar.Visible = Not cldCalendar.Visible
End Sub
助けていただいてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日曜日において「来週の水曜日...
-
午前am 午後pm 夕方や夜の略号は?
-
エクセルの付属テンプレートで...
-
万博に行って入場する時に 障碍...
-
電車内は満席でスマホを持ちお...
-
システム手帳 A5サイズ コード...
-
スケジュールを切る とはどうい...
-
その日が土曜日だった場合、明...
-
Outlook予定表月表示で「今日」...
-
基づいてと基づくの使い分け
-
取引先の人に稼働日のカレンダ...
-
ハンティングワールドの手帳カ...
-
スケジュール感って何?
-
第何週の数え方
-
Excel2003(カレンダー)を使って...
-
彼女に口だけは嫌と言われても...
-
カレンダーの何週目について
-
outlookの、カレンダーとエクセ...
-
訪問ポイントが反映されません
-
先週・今週と言うよう週の切れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
午前am 午後pm 夕方や夜の略号は?
-
エクセルの付属テンプレートで...
-
日曜日において「来週の水曜日...
-
万博に行って入場する時に 障碍...
-
定年までのカウントダウン。よ...
-
スケジュールを切る とはどうい...
-
取引先の人に稼働日のカレンダ...
-
電車内は満席でスマホを持ちお...
-
Outlook予定表月表示で「今日」...
-
基づいてと基づくの使い分け
-
googleカレンダー メインカ...
-
outlookの、カレンダーとエクセ...
-
Excel2016 vbaのカレンダー
-
お祝い電報を仏滅に打電しても...
-
スケジュール感って何?
-
こんなご経験された方は居られ...
-
Googleカレンダーのマイカレン...
-
先週・今週と言うよう週の切れ...
-
その日が土曜日だった場合、明...
-
カレンダーに毎日×印つける習慣...
おすすめ情報