Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】
日付ピッカー(Date Picker)は、Microsoft Excelの便利なツールの一つです。各セルに日付を一つずつ手入力するという単調な作業から解放され、ポップアップ表示されるカレンダーから日付を選択して入力できるようになります。このチュートリアルでは、Excel日付ピッカーの挿入方法と、列全体へ適用する方法について詳しく解説します。

Excelの日付ピッカーとは?
Excel日付ピッカーは、Microsoft Excelに搭載されている機能の一つで、カレンダーをポップアップ表示し、そこから簡単に日付を選択できるようにするものです。この機能は32ビット版のExcel 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010で利用できますが、64ビット版のExcelでは動作しないため注意が必要です。
Excelに日付ピッカーを挿入する方法
ここでは、日付ピッカーをExcelに挿入する手順を段階的に説明します。挿入作業の前に、まず開発(Developer)タブをメインタブに追加しておく必要があります。
1. 日付ピッカー用に「開発」タブを追加する
日付ピッカーを挿入する前に、メインタブに開発タブを追加しましょう。
ステップ1:
- まず、ファイル(File)タブをクリックします。

ステップ2:
- リストからオプション(Options)を選択します。

ステップ3:
- 左側のボックスからリボンのユーザー設定(Customize Ribbon)を選択します。
- 右側のボックスでメインタブ(Main Tabs)を選びます。
- 開発(Developer)のチェックボックスにチェックを入れます。
- 最後にOKをクリックします。

Excelファイルを確認してみましょう。

メインタブに開発タブが表示されるようになりました。
関連記事: Excelで数式を使って期限日を計算する方法
2. Excelに日付ピッカーを挿入する
次に、Excelに日付ピッカーを挿入します。以下の手順に従って操作してください。
ステップ1:
- 開発タブをクリックします。
- コントロール(Controls)グループから挿入(Insert)を選択します。
- ActiveXコントロールの中からその他のコントロール(More Controls)を選びます。

ステップ2:
- その他のコントロールのダイアログボックスからMicrosoft Date and Time Picker Control 6.0 (SP6)を選択します。
- その後、OKをクリックします。

下の画像をご確認ください。

日付ピッカーが挿入されました。初期状態では当日の日付が表示されます。
ステップ3:
- 次に、日付ピッカーをクリックします。

数式バーにEMBEDDED関数が表示されます。この数式は変更できません。
関連記事: Excelで現在の日付を挿入する方法
あわせて読みたい記事
- Excel VBAで週番号を検索する方法(6つの実例)
- Excel VBAで日付を文字列に変換する方法(6つの手法)
- Excel VBAのNow関数とFormat関数の使い方(4つの実例)
- Excel VBAのDateSerial関数の使い方(5つの応用例)
3. 日付ピッカーを操作・カスタマイズする
ここでは、日付ピッカーの移動やサイズ変更などのカスタマイズ方法を紹介します。
ステップ1:
- マウスの右ボタンで日付ピッカーをクリックし、押したままカーソルを動かすと、日付ピッカーも一緒に移動します。

ステップ2:
- 日付ピッカーはサイズ変更も可能です。カーソルを日付ピッカーの端に合わせて、マウスを押したまま動かすと、サイズが変化します。

ステップ3:
- 日付ピッカーにはプロパティ(Property)機能があります。マウスの右ボタンをクリックします。
- リストからプロパティ(Properties)を選択します。

プロパティウィンドウでは、幅や高さ、フォントの種類などを変更できます。

関連記事: Excelの日付ショートカットの使い方
4. 日付ピッカーとセルをリンクさせる
日付ピッカーを実際に活用するには、特定のセルとのリンク設定が必要です。ここでは、目的のセルとリンクさせる方法を紹介します。
ステップ1:
- カーソルを日付ピッカーに合わせます。
- マウスの右ボタンをクリックします。
- リストからプロパティ(Properties)を選択します。

ステップ2:
- プロパティウィンドウのLinkedCell行に移動します。
- ここではセルC5を指定します。

ステップ3:
- Enterキーを押します。

続いて、CheckBoxプロパティをFalseからTrueに変更する必要があります。
ステップ4:
- 再びプロパティウィンドウを開きます。
- CheckBox行でTrueを選択します。
- Enterキーを押します。

ステップ5:
- カーソルを日付ピッカーに合わせます。
- マウスの右ボタンをクリックし、DTPickerオブジェクト > プロパティ(Properties)を選択します。

ステップ6:
- DTPickerプロパティウィンドウでFormatを選択し、CheckBoxにチェックを入れます。
- 最後に適用(Apply)をクリックし、OKを押します。

Excelファイルを確認してみましょう。

セルC5に当日の日付が表示されています。
ステップ7:
- マウスの右ボタンで日付ピッカーのコードの表示(View Code)を選択します。

VBAコードが表示されます。

この日付ピッカーは、このVBAマクロによって動作しています。
VBAマクロで列全体に日付ピッカーを挿入する
日付ピッカーは、用途に応じてさまざまな場面で活用できます。ここでは、Excelの列全体に日付ピッカーを適用する方法を解説します。
ステップ1:
- 今回は日付のみを入力したいので、時刻の値は削除します。
- 次に、コードの表示(View Code)を開きます。

ステップ2:
- コードモジュールに以下のコードを記述します。
Private Sub Worksheet_SelectionChange(ByVal Dest As Range)
With Sheet1.DTPicker1
.Height = 20
.Width = 20
If Not Intersect(Dest, Range("C:C")) Is Nothing Then
.Visible = True
.Top = Dest.Top
.Left = Dest.Offset(0, 1).Left
.LinkedCell = Dest.Address
Else
.Visible = False
End If
End With
End Sub

コードを記述したら、VBAコードを保存します。実行する必要はありません。
ステップ3:
- Excelのメイン画面に戻ります。
- 開発タブからデザインモード(Design Mode)を無効にします。

次に、C列の任意のセルをクリックします。

C列の各セルにボックスが表示されます。
ステップ4:
- そのボックスをクリックすると、ポップアップカレンダーが表示されます。カレンダーから希望の日付を選択できます。

- カレンダーの月を変更したい場合は、月名をクリックします。

- カレンダーには上下矢印が表示されており、これを使って年を変更できます。

あとは、必要な日付をすべて入力していきましょう。

この方法なら、C列のどのセルにも日付を設定できます。
関連記事: Excel VBAのDateSerial関数の使い方
💬 注意点
- 64ビット版のExcelでは日付ピッカーを使用できません。
- デザインモード中は日付を入力できません。
- ファイルは必ずマクロ有効ブック(.xlsm)形式で保存してください。
- カレンダーの矢印ボタンを使って日付を変更することもできます。
まとめ
この記事では、Excelに日付ピッカーを挿入する方法と、VBAマクロを使って列全体に日付ピッカーを適用する方法を解説しました。皆さんの業務効率化にお役立ていただければ幸いです。ぜひ当サイトExceldemy.comもご覧いただき、コメント欄でご意見をお聞かせください。
さらに学びたい方へ
- Excel VBAのYear関数の使い方(5つの実例)
- Excel VBAのMONTH関数の使い方(7つの実例)
- Excel VBAでEoMonthを使う方法(5つの実例)
- Excel VBAのDatePart関数の使い方(7つの実例)
-
Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】
Excelでは、日付を含むデータを扱う機会が非常に多く、行を日付順に並べ替えたい場面はよくあります。Excelには「並べ替えとフィルター」、「フィルター」、「ユーザー設定の並べ替え」、右クリックメニューなどの標準機能に加え、MONTH・YEAR・SORT・SORTBYなどの関数やVBAマクロを使った方法まで、日付で行を並べ替える手段が多数用意されています。 ここでは、特定の日付ごとの合計コストを記録したデータセットを例に、データ全体を日付順に並べ替える手順を解説します。 本記事では、さまざまな機能・関数、そしてVBAマクロを使って日付順に並べ替える方法を詳しく紹介します。 Excelファイ
-
Excelの日付に「区切り位置」機能を使う方法|初心者向け簡単3ステップ
Excelを使用していると、「区切り位置」機能を活用したい場面がよくあります。この機能はさまざまな作業に役立ちます。本記事では、Excelで日付に対して「区切り位置」機能を使う方法を、必要な図解とともにわかりやすい3つのステップで紹介します。この記事を読めば、あなたのExcelスキルがさらに向上するはずです。 日付に「区切り位置」機能を使う手順 ここからは、Excelで日付に「区切り位置」機能を使う具体的な手順を説明します。まずデータセットを作成し、次に「区切り位置」ウィザードを実行することで、最終的に目的の結果を得ることができます。以下の手順を順番に確認しながら、図も参考にして進めてくださ