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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

Excelの日付ピッカーとは?

Excel日付ピッカーは、Microsoft Excelに搭載されている機能の一つで、カレンダーをポップアップ表示し、そこから簡単に日付を選択できるようにするものです。この機能は32ビット版のExcel 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010で利用できますが、64ビット版のExcelでは動作しないため注意が必要です。

Excelに日付ピッカーを挿入する方法

ここでは、日付ピッカーをExcelに挿入する手順を段階的に説明します。挿入作業の前に、まず開発(Developer)タブをメインタブに追加しておく必要があります。

1. 日付ピッカー用に「開発」タブを追加する

日付ピッカーを挿入する前に、メインタブに開発タブを追加しましょう。

ステップ1:

  • まず、ファイル(File)タブをクリックします。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ2:

  • リストからオプション(Options)を選択します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ3:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

メインタブに開発タブが表示されるようになりました。

関連記事: Excelで数式を使って期限日を計算する方法

2. Excelに日付ピッカーを挿入する

次に、Excel日付ピッカーを挿入します。以下の手順に従って操作してください。

ステップ1:

  • 開発タブをクリックします。
  • コントロール(Controls)グループから挿入(Insert)を選択します。
  • ActiveXコントロールの中からその他のコントロール(More Controls)を選びます。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ2:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

日付ピッカーが挿入されました。初期状態では当日の日付が表示されます。

ステップ3:

  • 次に、日付ピッカーをクリックします。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

数式バーにEMBEDDED関数が表示されます。この数式は変更できません。

関連記事: Excelで現在の日付を挿入する方法

あわせて読みたい記事

  • Excel VBAで週番号を検索する方法(6つの実例)
  • Excel VBAで日付を文字列に変換する方法(6つの手法)
  • Excel VBAのNow関数とFormat関数の使い方(4つの実例)
  • Excel VBAのDateSerial関数の使い方(5つの応用例)

3. 日付ピッカーを操作・カスタマイズする

ここでは、日付ピッカーの移動やサイズ変更などのカスタマイズ方法を紹介します。

ステップ1:

  • マウスの右ボタンで日付ピッカーをクリックし、押したままカーソルを動かすと、日付ピッカーも一緒に移動します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ2:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ3:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

関連記事: Excelの日付ショートカットの使い方

4. 日付ピッカーとセルをリンクさせる

日付ピッカーを実際に活用するには、特定のセルとのリンク設定が必要です。ここでは、目的のセルとリンクさせる方法を紹介します。

ステップ1:

  • カーソルを日付ピッカーに合わせます。
  • マウスの右ボタンをクリックします。
  • リストからプロパティ(Properties)を選択します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ2:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ3:

  • Enterキーを押します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

続いて、CheckBoxプロパティFalseからTrueに変更する必要があります。

ステップ4:

  • 再びプロパティウィンドウを開きます。
  • CheckBox行でTrueを選択します。
  • Enterキーを押します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ5:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ6:

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

セルC5に当日の日付が表示されています。

ステップ7:

  • マウスの右ボタンで日付ピッカーコードの表示(View Code)を選択します。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

この日付ピッカーは、このVBAマクロによって動作しています。

VBAマクロで列全体に日付ピッカーを挿入する

日付ピッカーは、用途に応じてさまざまな場面で活用できます。ここでは、Excelの列全体に日付ピッカーを適用する方法を解説します。

ステップ1:

  • 今回は日付のみを入力したいので、時刻の値は削除します。
  • 次に、コードの表示(View Code)を開きます。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

ステップ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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

コードを記述したら、VBAコードを保存します。実行する必要はありません。

ステップ3:

  • Excelのメイン画面に戻ります。
  • 開発タブからデザインモード(Design Mode)を無効にします。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

C列の各セルにボックスが表示されます。

ステップ4:

  • そのボックスをクリックすると、ポップアップカレンダーが表示されます。カレンダーから希望の日付を選択できます。

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

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

Excelで列全体に日付ピッカーを設定する方法【VBAマクロ活用】

この方法なら、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つの実例)
  1. Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

    Excelでは、日付を含むデータを扱う機会が非常に多く、行を日付順に並べ替えたい場面はよくあります。Excelには「並べ替えとフィルター」、「フィルター」、「ユーザー設定の並べ替え」、右クリックメニューなどの標準機能に加え、MONTH・YEAR・SORT・SORTBYなどの関数やVBAマクロを使った方法まで、日付で行を並べ替える手段が多数用意されています。 ここでは、特定の日付ごとの合計コストを記録したデータセットを例に、データ全体を日付順に並べ替える手順を解説します。 本記事では、さまざまな機能・関数、そしてVBAマクロを使って日付順に並べ替える方法を詳しく紹介します。 Excelファイ

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

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