見出し画像

【VBA_1行完結】Excelで日めくりカレンダー作ってみた③-入力規則を使った予定参照とVBAを使った日めくり機能の実装-

前回はweekday関数とIF関数を使って、日曜日は"赤"、土曜日は"青"にするところまで行いました。
今回は、最終章!入力規則を使ったカレンダーへの予定反映と
VBAを使った日めくり機能を実装してカレンダーを完成させます。

【前回記事はこちら】

この記事で学べること!

マスタシートの簡単な位置づけと票の名前管理の仕方がわかる
データの入力規則の使い方がわかる
VBAを使った機能追加の仕方がわかる

それでは、始めていきましょう!


1.<完成物>のプレビュー

完成品_画像

それでは前回の続きからカレンダーを作っていきましょう。

2.マスタシート作成と参照範囲の自動拡張

2-1.シートを追加して予定一覧を作る

まず、写真のように画面右下の「+」マークを押して、
新規シートを作成する。

「+」マーク_新規シート作成

続けて下の写真のように、自分の予定一覧を作る

マスタ_2_予定一覧作成

2-2.<一歩上へ>新規予定に対応できるようにする

カレンダーを使う際に新しく予定を登録したい時、
自動で反映する設定を行います。

設定は名前の管理機能を使って行います。
「Ctrl」+「F3」で名前の管理機能を呼び出す。

Ctrl+F3_名前の管理機能の呼出し

下の写真のように「新規作成」→「名前:予定一覧」→下の参照範囲を消す→「OK」で名前の管理に「予定一覧」を登録する。

名前を管理_予定一覧登録

下の写真のように、「参照範囲」にOFFSET関数を組込み
新規予定を自動反映する設定をする。
(第四引数にCOUNTA関数を使い「$B:$B」でB列全体を参照することで
 新規予定を入れた際にも自動で反映されるようになります)

OFFSET関数_予定の自動反映

※【訂正】マスタ!となっているところをマスタ!_2と修正してください
 (申し訳ございません)

2-3.データの入力規則で予定一覧を参照する

カレンダーのシートに戻り、下の写真のように
上部の「データ」タブ→「データの入力規則」→「入力値の種類:リスト」→「元の値:=予定一覧」と設定する。

データの入力規則_予定一覧反映

「OK」を押すと

B4セル_予定反映

上記のように予定を選択できるようになります。あとは、
オートフィルとコピーで行ごとの入力規則を反映させればOK!
マスタ_2のB列に項目を増やすと、予定をさらに増やすことが
出来るので、ご自身の予定に合わせて追加してみてくださいね!

3.VBAを使った日めくり機能の実装

3-1.<超発展>VBAでの日めくり機能の実装

まずは下の写真のようにMAX関数を使って月を抜出しましょう。

MAX関数_月の抜出し

「OK」→右クリックし「セルの書式設定」
→「ユーザー定義:yyyy"年"m"月"」で下の写真のように年月表記に変更

セルの書式設定_年月へ表記変更

3-2.VBA登録用の矢印を作成

「挿入」→「図」→「図形」で下記の写真のように
お好みの図形を選択する。(ここでは矢印を使う)

矢印を挿入

3-3.<1行完結>VBAで日めくり機能を実装する

ここから先は

937字 / 7画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?