![見出し画像](https://assets.st-note.com/production/uploads/images/118512222/rectangle_large_type_2_c8e47bdfe3cc60cc031e4020cc7933ea.png?width=1200)
【VBA_1行完結】Excelで日めくりカレンダー作ってみた③-入力規則を使った予定参照とVBAを使った日めくり機能の実装-
前回はweekday関数とIF関数を使って、日曜日は"赤"、土曜日は"青"にするところまで行いました。
今回は、最終章!入力規則を使ったカレンダーへの予定反映と
VBAを使った日めくり機能を実装してカレンダーを完成させます。
【前回記事はこちら】
この記事で学べること!
・マスタシートの簡単な位置づけと票の名前管理の仕方がわかる
・データの入力規則の使い方がわかる
・VBAを使った機能追加の仕方がわかる
それでは、始めていきましょう!
1.<完成物>のプレビュー
![](https://assets.st-note.com/img/1696642588953-r4zQosuEI5.png?width=1200)
それでは前回の続きからカレンダーを作っていきましょう。
2.マスタシート作成と参照範囲の自動拡張
2-1.シートを追加して予定一覧を作る
まず、写真のように画面右下の「+」マークを押して、
新規シートを作成する。
![](https://assets.st-note.com/img/1696643186585-BxZtlpzKqx.png?width=1200)
続けて下の写真のように、自分の予定一覧を作る
↓
![](https://assets.st-note.com/img/1696651636834-ehYzLkOGk5.png?width=1200)
2-2.<一歩上へ>新規予定に対応できるようにする
カレンダーを使う際に新しく予定を登録したい時、
自動で反映する設定を行います。
設定は名前の管理機能を使って行います。
「Ctrl」+「F3」で名前の管理機能を呼び出す。
![](https://assets.st-note.com/img/1696652323317-Ac2yQvcI5r.png?width=1200)
下の写真のように「新規作成」→「名前:予定一覧」→下の参照範囲を消す→「OK」で名前の管理に「予定一覧」を登録する。
![](https://assets.st-note.com/img/1696652929159-UQE7gyrmRj.png?width=1200)
下の写真のように、「参照範囲」にOFFSET関数を組込み
新規予定を自動反映する設定をする。
(第四引数にCOUNTA関数を使い「$B:$B」でB列全体を参照することで
新規予定を入れた際にも自動で反映されるようになります)
![](https://assets.st-note.com/img/1696653200049-etXwC9MCw4.png?width=1200)
※【訂正】マスタ!となっているところをマスタ!_2と修正してください
(申し訳ございません)
2-3.データの入力規則で予定一覧を参照する
カレンダーのシートに戻り、下の写真のように
上部の「データ」タブ→「データの入力規則」→「入力値の種類:リスト」→「元の値:=予定一覧」と設定する。
![](https://assets.st-note.com/img/1696653904373-fGeCJYLeq6.png?width=1200)
「OK」を押すと
↓
![](https://assets.st-note.com/img/1696654644888-AU2Fnj0dMh.png?width=1200)
上記のように予定を選択できるようになります。あとは、
オートフィルとコピーで行ごとの入力規則を反映させればOK!
マスタ_2のB列に項目を増やすと、予定をさらに増やすことが
出来るので、ご自身の予定に合わせて追加してみてくださいね!
3.VBAを使った日めくり機能の実装
3-1.<超発展>VBAでの日めくり機能の実装
まずは下の写真のようにMAX関数を使って月を抜出しましょう。
![](https://assets.st-note.com/img/1696655452101-MUqycW7QXw.png?width=1200)
「OK」→右クリックし「セルの書式設定」
→「ユーザー定義:yyyy"年"m"月"」で下の写真のように年月表記に変更
↓
![](https://assets.st-note.com/img/1696655851627-OpMcdqSJvS.png?width=1200)
3-2.VBA登録用の矢印を作成
「挿入」→「図」→「図形」で下記の写真のように
お好みの図形を選択する。(ここでは矢印を使う)
![](https://assets.st-note.com/img/1696656391676-6LCk0esamN.png?width=1200)
3-3.<1行完結>VBAで日めくり機能を実装する
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?