Excelのカレンダーコントロールをダウンロードできない方向けの自作マニュアル
複数の方からご要望をいただいたので記事にしました。ネット繋げない環境でも需要があるみたいで、勉強になります!
はじめにお読みください
- この記事は、2022/10/23公開のダウンロードとコピペで使えるExcelVBAのカレンダーコントロールで紹介しているモジュールを、環境の制限によってダウンロードできない方へ向けて、同じものを作成するための解説です。
- 元記事でダウンロード&インポートする、
M_CalendarSetting
(標準モジュール)とF_Calendar
(フォームモジュール)の2つを作成します。 - 利用するには、シートモジュールへの記述が必要なので、そちらは元記事を参照ください。
M_CalendarSetting(標準モジュール)
作成
VBEにて、「挿入」から「標準モジュール」を選択します。
プロパティウィンドウ(左下)から、モジュールの名前をM_CalendarSetting
へ変更します。
コードの貼り付け
以下を開いて、作成したM_CalendarSetting
モジュールへコピペしてください。
F_Calendar(フォームモジュール)の作成
作成
VBEにて、「挿入」から「ユーザーフォーム」を選択します。
モジュールの名前をF_Calendar
へ変更します。ツールボックスが表示されていない場合は「表示」→「ツールボックス」から出しておきます。
フォームを選択した状態で、プロパティウィンドウ(左下のリスト)から、以下の表の項目を探して、属性(プロパティ)を変更します。
プロパティ名 | 意味 | 変更後の値 |
---|---|---|
Caption | 標題 | カレンダー |
Width | 幅 | 200 |
Height | 高さ | 200 |
コンボボックスの挿入
ツールボックスからコンボボックスを選択してフォーム上でクリックして挿入します。2つ挿入して、それぞれ以下の表を参考に名前とプロパティを設定します。
左側 | 右側 | ||
---|---|---|---|
オブジェクト名 | cmb_year | cmb_month | |
Top | 上からの位置 | 6 | 6 |
Left | 左からの位置 | 12 | 90 |
Width | 幅 | 54 | 36 |
Height | 高さ | 15 | 15 |
Style | スタイル | 2 – fmStyleDropDownList | 2 – fmStyleDropDownList |
スピンボタンの挿入
ツールボックスからスピンボタンを選択してフォーム上でクリックして挿入します。以下の表を参考に名前とプロパティを設定します。
オブジェクト名 | spn_monthUpDown | |
---|---|---|
Top | 上からの位置 | 6 |
Left | 左からの位置 | 150 |
Width | 幅 | 24 |
Height | 高さ | 15 |
ラベルの挿入
ツールボックスからラベルを選択してフォーム上でクリックして挿入します。挿入されたラベルのCaption
を削除して、テキストを空にしておきます。
なお、ラベルは MS UI Gothic の 11 サイズにしています。これ以降登場するラベルは、すべて同じフォント、サイズです。
ラベルをコピペして7つにして、それぞれ以下の表を参考に名前とプロパティを設定します。左から右方向に1, 2, 3, …と名前を付けます。(下図の赤数字は、オブジェクト名末尾の数字を表しているもので、実際は空です。)
1番目 | 2番目 | 3番目 | 4番目 | 5番目 | 6番目 | 7番目 | ||
---|---|---|---|---|---|---|---|---|
オブジェクト名 | lbl_day1 | lbl_day2 | lbl_day3 | lbl_day4 | lbl_day5 | lbl_day6 | lbl_day7 | |
Top | 上からの位置 | 60 | 60 | 60 | 60 | 60 | 60 | 60 |
Left | 左からの位置 | 12 | 36 | 60 | 84 | 108 | 132 | 156 |
Width | 幅 | 18 | 18 | 18 | 18 | 18 | 18 | 18 |
Height | 高さ | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
1段目をコピーして、2段目から6段目まで、最後がlbl_day37
になるようにラベルを作ります。幅、高さ、左からの位置は上と同じで、上からの位置だけ変えます。ここが大変ですががんばりましょう!
2段目 | 3段目 | 4段目 | 5段目 | 6段目 | ||
---|---|---|---|---|---|---|
Top | 上からの位置 | 78 | 96 | 114 | 132 | 150 |
その他のコントロール
残りは、見出しのためのラベルです。プログラムでは使っていないので、実はなくても動きます。(もちろんあったほうが良いです。)
年月 | 曜日 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
オブジェクト名 | lbl_year | lbl_month | lbl_sun | lbl_mon | lbl_tue | lbl_wed | lbl_thu | lbl_fri | lbl_sat | |
Caption | 標題 | 年 | 月 | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
Top | 上からの位置 | 10 | 10 | 36 | 36 | 36 | 36 | 36 | 36 | 36 |
Left | 左からの位置 | 66 | 126 | 12 | 36 | 60 | 84 | 108 | 132 | 156 |
Width | 幅 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 |
Height | 高さ | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
ラベルの色を変える
最左列のラベルをすべて選択して、プロパティウィンドウのForeColor
を赤にします。
最右列のラベルは、青にします。
コードの貼り付け
ここまで見ていたのは、F_Calendar
モジュールの「オブジェクト表示」です。コードは、モジュールを右クリックして「コードの表示」を開いた画面へ書きます。
以下を開いて、コード画面へコピペしてください。
おわりに
オブジェクト名はすべて半角です。名前が違うとエラーが起こってしまうので、できるだけコピペしてもらったほうがいいかと思います。ラベルを作るのが大変ですが、がんばってください!
もし、コードの解説が見てみたいとか、どうやって動いてるか興味あるという方がいらしたら、コメントくだされば動画つくるかもしれませんのでお気軽にどうぞ!
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。