Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

Microsoft Excelには、快適な操作体験を実現するための便利なツールが数多く搭載されています。そのひとつが「日付ピッカー(Date Picker)」です。このツールを使えば、ワークシートに任意の日付や時刻を簡単に入力できます。カレンダーがポップアップ表示され、そこから日付を選択するだけというシンプルな仕組みです。

この記事では、Excelに日付ピッカーを挿入する方法を、具体的な例と図解を交えて段階的に解説します。応用テクニックも後半でたっぷり紹介しますので、ぜひ最後までお読みください。

日付ピッカーはなぜ便利なのか?

近年、ユーザーインターフェースを活用した作業が好まれる傾向にあります。作業の負担を大きく軽減できるからです。セルに日付を入力するとき、皆さんはどうしているでしょうか?キーボードで直接打ち込むのが一般的ですよね。しかし、手入力は意外と面倒なものです。仮にデータセットに500行あったら、すべての日付を手動で入力したくはないはずです。

そんなときに活躍するのが日付ピッカーです。ポップアップ形式のカレンダーとして表示され、日付の挿入や管理を効率的に行えます。以下のスクリーンショットをご覧ください。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

これが日付ピッカーです。このツールを使えば、任意の日付を選択し、Excel上でさまざまな操作を行うことができます。

Excelに日付ピッカーを挿入する手順

ここからは、Excelに日付ピッカーを挿入するための手順を順番に解説していきます。各ステップを丁寧に確認しながら進めることで、確実にスキルアップできますよ。

手順1:開発タブを有効化する

まず押さえておきたいのは、日付ピッカーのツールが「開発」タブにのみ存在するという点です。そのため、作業を始める前に開発タブを有効化しておく必要があります。

📌 手順

  • まず、「ファイル」タブをクリックします。
  • 次に、「オプション」をクリックします。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

これで、Excelのリボンに開発タブが追加されました。

手順2:日付ピッカーを挿入する

続いて、ワークシートに日付ピッカーを挿入しましょう。以下の手順に従ってください。

📌 手順

  • まず、「開発」タブに移動します。
  • 「コントロール」グループの「挿入」をクリックします。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

これで、セルに日付ピッカーコントロールが挿入されました。

日付ピッカーを挿入すると、数式バーにEMBEDDEDという数式が表示されます。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

これは、ワークシートに埋め込まれたコントロールの種類を示すものです。注意点として、この数式は変更できません。編集しようとすると「参照が無効です」というエラーが表示されるので気をつけましょう。

手順3:日付ピッカーをカスタマイズする

挿入したばかりの日付ピッカーは、見た目が少し物足りません。サイズやデザインを調整して、使いやすい形に整えましょう。

日付ピッカーを挿入すると、自動的にデザインモードが有効になります。このモード中は、サイズ変更やプロパティの編集が可能です。

📌 手順

  • サイズを変更したい場合は、日付ピッカーの端をドラッグするだけで拡大・縮小できます。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

これで日付ピッカーの見た目はほぼ完成です。あとはカレンダーをセルにリンクさせるだけです。

手順4:日付ピッカーをセルにリンクする

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

📌 手順

  • まず、日付ピッカーを右クリックします。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

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

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

列全体に日付ピッカーを挿入する方法

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

1. 単一の列に日付ピッカーを設定する

📌 手順

  • 列全体に日付ピッカーを割り当てるには、日付ピッカーを右クリックし、「コードの表示」をクリックします。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

  • 既存のコードがある場合は、それをすべて削除します。
  • 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列のすべてのセルで日付ピッカーが表示されるようになります。

Excelで日付ピッカーを挿入する方法|初心者向けステップバイステップガイド

コードの解説:

  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の複数列に日付ピッカーを導入できます。

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で日付を自動入力する方法
  1. Excel差し込み印刷で日付の表示形式を変更する方法【初心者向けステップ解説】

    差し込み印刷(Mail Merge)は、Microsoft Wordが持つ非常に便利な機能の一つです。この機能とExcelのデータシートを組み合わせれば、宛先ごとに内容が変わる文書を何通でも自動生成できます。本記事では、Excel差し込み印刷において日付の表示形式を変更する手順を、ステップごとにわかりやすく解説します。練習用ワークブックも用意しているので、実際に操作しながら読み進めてください。Excel差し込み印刷で日付形式を変更する手順ここでは、Excelの差し込み印刷で日付形式を変更する具体的な流れを紹介します。例として、「昇進通知書」を従業員へ一括送付するケースを想定して説明します。ステ

  2. Excelの日付に「区切り位置」機能を使う方法|初心者向け簡単3ステップ

    Excelを使用していると、「区切り位置」機能を活用したい場面がよくあります。この機能はさまざまな作業に役立ちます。本記事では、Excelで日付に対して「区切り位置」機能を使う方法を、必要な図解とともにわかりやすい3つのステップで紹介します。この記事を読めば、あなたのExcelスキルがさらに向上するはずです。 日付に「区切り位置」機能を使う手順 ここからは、Excelで日付に「区切り位置」機能を使う具体的な手順を説明します。まずデータセットを作成し、次に「区切り位置」ウィザードを実行することで、最終的に目的の結果を得ることができます。以下の手順を順番に確認しながら、図も参考にして進めてくださ