Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド
Microsoft Excelには、快適な操作体験を実現するための便利なツールが数多く搭載されています。そのひとつが「日付ピッカー(Date Picker)」です。このツールを使えば、ワークシートに任意の日付や時刻を簡単に入力できます。カレンダーがポップアップ表示され、そこから日付を選択するだけというシンプルな仕組みです。
この記事では、Excelに日付ピッカーを挿入する方法を、具体的な例と図解を交えて段階的に解説します。応用テクニックも後半でたっぷり紹介しますので、ぜひ最後までお読みください。
日付ピッカーはなぜ便利なのか?
近年、ユーザーインターフェースを活用した作業が好まれる傾向にあります。作業の負担を大きく軽減できるからです。セルに日付を入力するとき、皆さんはどうしているでしょうか?キーボードで直接打ち込むのが一般的ですよね。しかし、手入力は意外と面倒なものです。仮にデータセットに500行あったら、すべての日付を手動で入力したくはないはずです。
そんなときに活躍するのが日付ピッカーです。ポップアップ形式のカレンダーとして表示され、日付の挿入や管理を効率的に行えます。以下のスクリーンショットをご覧ください。

これが日付ピッカーです。このツールを使えば、任意の日付を選択し、Excel上でさまざまな操作を行うことができます。
Excelに日付ピッカーを挿入する手順
ここからは、Excelに日付ピッカーを挿入するための手順を順番に解説していきます。各ステップを丁寧に確認しながら進めることで、確実にスキルアップできますよ。
手順1:開発タブを有効化する
まず押さえておきたいのは、日付ピッカーのツールが「開発」タブにのみ存在するという点です。そのため、作業を始める前に開発タブを有効化しておく必要があります。
📌 手順
- まず、「ファイル」タブをクリックします。
- 次に、「オプション」をクリックします。

- 「Excelのオプション」ダイアログボックスが開いたら、左側のメニューから「リボンのユーザー設定」を選択します。

- 画面右側で「メインタブ」を選択します。
- 最後に、「開発」のチェックボックスにチェックを入れます。

これで、Excelのリボンに開発タブが追加されました。
手順2:日付ピッカーを挿入する
続いて、ワークシートに日付ピッカーを挿入しましょう。以下の手順に従ってください。
📌 手順
- まず、「開発」タブに移動します。
- 「コントロール」グループの「挿入」をクリックします。

- 「ActiveXコントロール」の中から「その他のコントロール」をクリックします。

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

- 「OK」をクリックします。
- 最後に、日付ピッカーを挿入したいセルをクリックします。

これで、セルに日付ピッカーコントロールが挿入されました。
日付ピッカーを挿入すると、数式バーにEMBEDDEDという数式が表示されます。

これは、ワークシートに埋め込まれたコントロールの種類を示すものです。注意点として、この数式は変更できません。編集しようとすると「参照が無効です」というエラーが表示されるので気をつけましょう。
手順3:日付ピッカーをカスタマイズする
挿入したばかりの日付ピッカーは、見た目が少し物足りません。サイズやデザインを調整して、使いやすい形に整えましょう。
日付ピッカーを挿入すると、自動的にデザインモードが有効になります。このモード中は、サイズ変更やプロパティの編集が可能です。
📌 手順
- サイズを変更したい場合は、日付ピッカーの端をドラッグするだけで拡大・縮小できます。

- デザインモードが有効な状態で、日付ピッカーを右クリックし、「プロパティ」をクリックします。

- プロパティウィンドウにさまざまな項目が表示されます。ここで必要な設定を行いましょう。

- 高さ、幅、フォント、色などを自由に変更できます。
- 設定が完了したら、日付ピッカーを配置したいセルの位置へドラッグして移動します。

これで日付ピッカーの見た目はほぼ完成です。あとはカレンダーをセルにリンクさせるだけです。
手順4:日付ピッカーをセルにリンクする
「挿入できたからもう使える」と思うかもしれませんが、実はここに落とし穴があります。日付ピッカーをセルにリンクしないままでは、選択した日付がどのセルにも反映されません。Excelは自動的に関連付けを行ってくれないのです。つまり、リンクなしでは数式も機能しません。
📌 手順
- まず、日付ピッカーを右クリックします。

- コンテキストメニューから「プロパティ」をクリックします。

- 「LinkedCell(リンクするセル)」の欄に、連携したいセル参照を入力します。

- カレンダーから日付を選択すると、リンク先のセルに自動的に日付が表示されます。「セルの値をNULLに設定できません…」というエラーが出た場合は、「OK」をクリックしてください。
- NULL値を受け入れたい場合は、プロパティ内のCheckBoxの値をFALSEからTRUEに変更します。

- また、日付ピッカーを右クリックして「コードの表示」を選ぶと、関連付けられたVBAコードを確認できます。

列全体に日付ピッカーを挿入する方法
ここまでは1つのセルへの日付ピッカー挿入方法を解説しました。実は、セル範囲や特定の列全体に日付ピッカーを設定することも可能です。そうすれば、列内のどのセルをクリックしてもカレンダーが表示され、日付を選択できるようになります。ここからは、単一列と複数列それぞれのケースを見ていきましょう。
1. 単一の列に日付ピッカーを設定する
📌 手順
- 列全体に日付ピッカーを割り当てるには、日付ピッカーを右クリックし、「コードの表示」をクリックします。

- 既存のコードがある場合は、それをすべて削除します。
- VBAエディタに、以下のコードを入力してください。
Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheet1.DTPicker1
.Height = 20
.Width = 20
If Not Intersect(Target, Range("B:B")) Is Nothing Then
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
Else
.Visible = False
End If
End With
End Sub
このコードは、B列全体を日付ピッカー対応に設定するものです。
- 次に、デザインモードを解除します。
- その後、任意のセルをクリックして日付ピッカーを一旦非表示にします。
- そして、B列の任意のセルをクリックしてみてください。B列のすべてのセルで日付ピッカーが表示されるようになります。

コードの解説:
With Sheet1.DTPicker1
.Height = 20
.Width = 20
この部分では、シート番号(シート名を変更していても元の番号を指定すること)と日付ピッカーの番号を指定しています。ここではSheet1とDTPicker1を使用しています。HeightとWidthは、手動で設定したサイズの値です。
If Not Intersect(Target, Range("B:B")) Is Nothing Then
.Visible = True
この条件分岐により、B列のセルが選択されたときにだけ日付ピッカーが表示されます。Range("B5:B14")のように範囲を指定すれば、B列の特定のセルだけに限定することも可能です。
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
「Top」プロパティは、選択されたセルの上端に合わせて日付ピッカーを配置するためのものです。指定セルの上端位置と同じ値を設定しています。
「Left」プロパティは、指定セルの隣(右側)のセルの位置に基づいています。Offset関数を使って右隣のセル参照を取得し、そこから左端の位置を求めています。
「LinkedCell」は、日付ピッカーと対象セルを結びつける設定です。ドロップダウンから日付を選択すると、その日付がセルに反映されます。
Else
.Visible = False 対象列以外のセルを選択した場合は、日付ピッカーが表示されないようにする処理です。
2. 複数の列に日付ピッカーを設定する
複数の列に日付ピッカーを設定したい場合も、コードを少し変えるだけで対応できます。ただし注意点として、複数列に設定する前に、新しい日付ピッカーを追加で挿入しておく必要があります。
隣接する列に設定する場合は、コードを新しく書き足す必要はありません。If文の部分だけを変更すればOKです。
If Not Intersect(Target, Range("C:D")) Is Nothing Then次のコードは、離れた複数の列範囲に日付ピッカーを設定する例です。
※ここでは列全体ではなく、セル範囲に割り当てています。DTPicker1をB5:B14に、DTPicker2をD5:E14に、DTPicker3をG5:G14に設定しています。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheet1.DTPicker1
.Height = 20
.Width = 20
If Not Intersect(Target, Range("B5:B14")) Is Nothing Then
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
Else
.Visible = False
End If
End With
With Sheet1.DTPicker2
.Height = 20
.Width = 20
If Not Intersect(Target, Range("D5:E14")) Is Nothing Then
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
Else
.Visible = False
End If
End With
With Sheet1.DTPicker3
.Height = 20
.Width = 20
If Not Intersect(Target, Range("H5:H14")) Is Nothing Then
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
Else
.Visible = False
End If
End With
End Subこのコードでは3つの日付ピッカーを使用しています。1つ目はB列、2つ目はD列とE列の結合範囲、3つ目はG列に対応しています。これらの列のセルをクリックすると、それぞれカレンダーが表示されます。この方法を使えば、Excelの複数列に日付ピッカーを導入できます。

日付ピッカーの大きな制約に注意
ここで重要な注意点があります。64ビット版のExcelをお使いの方、またはExcel 365・Excel 2019をお使いの方は、ActiveXコントロールの中に日付ピッカーが見つからないはずです。
残念ながら、Microsoft純正の日付ピッカーコントロールは32ビット版のExcel 2016、2013、2010でのみ利用可能で、64ビット版では動作しません。どうしてもワークシートにカレンダーを挿入したい場合は、サードパーティ製のカレンダーアドインを利用するのが現実的な解決策です。将来的にMicrosoftが公式の代替機能を提供してくれることを期待しましょう。
💬 注意点まとめ
✎ 日付ピッカーを使用する際は、必ずセルにリンクさせましょう。
✎ ファイルはマクロ有効ブック(.xlsm)形式で保存する必要があります。
✎ 日付ピッカーに変更を加えるときは、必ずデザインモードで選択してから行ってください。
✎ VBAコードの変更結果を確認するには、日付ピッカーの選択を解除してから操作します。
まとめ
今回は、Excelに日付ピッカーを挿入する方法を詳しく解説しました。基本的な挿入手順から、VBAを使った列全体への応用まで、幅広いテクニックを紹介しました。ぜひ実際のデータセットで試してみてください。練習用ファイルをダウンロードして、自分のペースで練習するのもおすすめです。
Excelに関するさまざまな問題と解決策については、Exceldemy.comもぜひチェックしてみてください。
新しいテクニックを学び続けて、スキルアップを目指しましょう!
関連記事
- Excelで日付から曜日を表示する方法(8つの方法)
- Excelに最終保存日を挿入する方法(4つの例)
- Excelで時刻を入力する方法(5つの方法)
- Excelで数式を使って日付を自動更新する方法
- セル更新時にExcelで日付を自動入力する方法
-
Excel差し込み印刷で日付の表示形式を変更する方法【初心者向けステップ解説】
差し込み印刷(Mail Merge)は、Microsoft Wordが持つ非常に便利な機能の一つです。この機能とExcelのデータシートを組み合わせれば、宛先ごとに内容が変わる文書を何通でも自動生成できます。本記事では、Excel差し込み印刷において日付の表示形式を変更する手順を、ステップごとにわかりやすく解説します。練習用ワークブックも用意しているので、実際に操作しながら読み進めてください。Excel差し込み印刷で日付形式を変更する手順ここでは、Excelの差し込み印刷で日付形式を変更する具体的な流れを紹介します。例として、「昇進通知書」を従業員へ一括送付するケースを想定して説明します。ステ
-
Excelの日付に「区切り位置」機能を使う方法|初心者向け簡単3ステップ
Excelを使用していると、「区切り位置」機能を活用したい場面がよくあります。この機能はさまざまな作業に役立ちます。本記事では、Excelで日付に対して「区切り位置」機能を使う方法を、必要な図解とともにわかりやすい3つのステップで紹介します。この記事を読めば、あなたのExcelスキルがさらに向上するはずです。 日付に「区切り位置」機能を使う手順 ここからは、Excelで日付に「区切り位置」機能を使う具体的な手順を説明します。まずデータセットを作成し、次に「区切り位置」ウィザードを実行することで、最終的に目的の結果を得ることができます。以下の手順を順番に確認しながら、図も参考にして進めてくださ