以前、祝日自動表示・土日祝を自動的に色分けするエクセルの万年カレンダーを作成する記事を投稿しました。
今回は、こちらのカレンダーにスピンボタン(上下ボタン)を設置して、上下のボタンをクリックすることで年月を増減させ、簡単に移動できるようにします。
マクロ(VBA)は全く利用しませんので、初心者の方にも簡単にスピンボタンが設置できますのでご安心ください。
スピンボタンを設置するには開発タブを表示することから
フォームコントロールである、スピンボタンをエクセル上に設置するには「開発」タブを表示する必要があります。
「開発」といっても今回はマクロ(VBA)は全く利用しませんのでご安心ください。
エクセルの画面から「ホーム」「オプション」をクリックします。
「Excel のオプション」から「リボンのユーザー設定」をクリックし、右側「リボンのユーザー設定」から「開発」にチェックを入れるだけです。
「開発」にチェックを入れて「OK」します。
エクセルの画面に戻っていただいて、「開発」タブが表示されていることをご確認ください。
フォームコントロール スピンボタンの挿入
「開発」タブの「挿入」から、「フォームコントロール」「スピンボタン」をクリックします。
今回は、祝日自動表示・土日祝日自動色分けカレンダーの月名の横のセル、「H1」セルに年度を表示させるセルを作成し、スピンボタンによって年度を増減させます。
下図のようにスピンボタンが設置できたでしょうか。
マウス操作の際にキーボードの「Alt」キーを押しながらドラッグするときれいにセル内に収まります。
コントロール(スピンボタン)の書式設定
設置した「コントロール」(スピンボタン)を右クリックし、「コントロールの書式設定」をクリックします。
スピンボタン 年度の設定
「コントロールの書式設定」から「コントロール」タブを選択し、以下の通り設定します。
「現在値」は「2020」、「最小値」は「1900」としています。
エクセルでは、日付データをシリアル値として計算しています。
その始まりは1900年1月1日となっていますので、「最小値」は「1900」に、また最大値は「9999」(エクセルでは9999年まで管理できる!)に設定してあります。
その辺りはお好みで変更してください。
また「変化の増分」は「1」に、リンクするセル(数字を変化させるセル)には「$H$1」を設定しています。
セルに$がついていますが、これは「絶対参照」と呼ばれるものです。
「絶対参照」については次の記事をご覧ください。
設定後、スピンボタンの上向き矢印(▲)をクリックした状態が下図です。
H1セルが「2021」になっているのがお分かり頂けるでしょうか。(まだA1セルは未設定ですのでカレンダーには反映されていません)。
スピンボタン 月の設定
今度は同様に、月を変化させるスピンボタンを設定します。
「I1」セルにスピンボタンを設置し、「コントロールの書式設定」を下図のようにします。
月ですので、「最小値」は「1」、「最大値」は「12」、「変化の増分「1」とします。
また、リンクするセルには「$I$1」に設定しています。
下図のように、スピンボタンの上下ボタンを利用することにより「年度」と「月」を変化させる準備が整いました。
スピンボタンの動きをカレンダーに連動させる
いよいよ最後です。
スピンボタンの数値の変化を、カレンダーに連動します。
まずは、スピンボタンの数値を「2020年」「7月」に設定します。
下図の状態です。
こちらのカレンダーは冒頭で紹介した記事の中で紹介していますが、「A1」セルの日付によって下のカレンダーが連動します。
そこで、「A1」セルに「=DATE(H1,I1,1)」と入力をします。
「DATE関数」はそれぞれ「年」「月」「日」を引数にして、日付データを作成する関数です。
=DATE(H1,I1,1)
下図では、「年」をH1セルの値に、「月」をI1セルの値に、「日」を「1」に設定し、日付データとしています。
以上で完成です。
試しに「I1」セルのスピンボタン、上向き▲をクリックした状態が下図です。
2020年8月のカレンダーが表示されているのがお分かりいただけるでしょうか。
スピンボタンはVBA(マクロ)を利用しなくても数値を変動させる
スピンボタンは、VBA(マクロ)を利用しなくてもセル内の数値を変動させることが可能な便利な機能(コントロール)です。
ただ、やはりVBA(マクロ)を利用した方が便利な場合が多いのも事実です。
次回の記事では、簡単なマクロを利用することによってセル内にボタンを配置し、ボタンをクリックすることによってカレンダーの年度や月を変動する機能を紹介したいと思います。
追記:記事アップしました。
コメント