メインコンテンツへスキップ

特定のセルをクリックしたときにカレンダーをポップアップ表示するにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-05-23

ワークシート内に日付を頻繁に入力したり変更したりする必要がある列範囲があるとします。しかし、毎回手動で日付を入力したり変更したりするのは退屈です。どのようにすれば、列範囲に手動で入力することなく迅速に日付を入力できるでしょうか?この記事では、特定の範囲内のセルをクリックした際にカレンダーをポップアップ表示し、カレンダーから日付を選択後に自動的に選択されたセルに日付を挿入する方法について説明します。


VBAコードを使用して特定のセルをクリックしたときにカレンダーをポップアップ表示

以下の手順に従って、この問題を解決してください。

注意: この方法は、Microsoft Excel 32ビットでのみ動作します。

ステップ 1: カレンダー付きのユーザーフォームを作成

クリックした際にポップアップされるカレンダーを含むユーザーフォームを作成してください。

1. Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. Microsoft Visual Basic for Applicationsウィンドウで、挿入 > ユーザーフォームをクリックします。

 click Insert > UserForm

3. その後、ユーザーフォームツールボックスウィンドウがポップアップ表示されます。ツールボックスで任意のコントロールをクリックして右クリックし、右クリックメニューからその他のコントロールを選択します。スクリーンショットをご覧ください:

click any one control and right click, then select Additional Controls

4. 「その他のコントロール」ダイアログボックスで、「利用可能なコントロール」ボックス内の「Microsoft MonthView Control」オプションをチェックし、「OK」ボタンをクリックします。

check the Microsoft MonthView Control option

5. これで、ツールボックスウィンドウにMonthViewボタンが追加されました。このMonthViewボタンをクリックし、次にUserForm1ウィンドウをクリックして、ユーザーフォーム内にカレンダーを作成します。

create a Calendar in the Userform

注意: ユーザーフォームウィンドウのサイズを調整して、挿入されたカレンダーに合わせることができます(ユーザーフォームの境界線をドラッグすることで)。

6. UserForm1内の挿入されたカレンダーをダブルクリックし、コードウィンドウで元のコードを次のVBAスクリプトに置き換えます。

VBAコード: カレンダー付きのユーザーフォームを作成

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

注意: このコードは、カレンダーから日付を選択した後、選択されたセルに日付を挿入するのに役立ちます。

copy and paste the code into the module

ステップ 2: セルをクリックしたときにカレンダーをアクティブ化

次に、クリック時にカレンダーをポップアップさせる特定のセルを指定する必要があります。以下のように操作してください。

7. 左側のプロジェクトペインで、カレンダーをポップアップさせるセルを含むシート名をダブルクリックし、下記のVBAコードをコードウィンドウにコピー&ペーストします。スクリーンショットをご覧ください:

VBAコード: セルをクリックしてカレンダーをポップアップ

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

注意: コード内のA2:A10は、カレンダーをポップアップさせるセルです。必要に応じてセル範囲を変更してください。

copy and paste the code into the sheet module

8. Alt + Qキーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを閉じます。

これで、現在のワークシート内の指定された範囲のセルをクリックすると、下のスクリーンショットに示すようにカレンダーがポップアップ表示されます。また、カレンダーから日付を選択すると、選択されたセルに自動的に日付が挿入されます。

when clicking on any cell inside the specified range, a calendar will pop up


VBAコードを使用して特定のセルをクリックしたときにカレンダーをポップアップ表示

このセクションでは、Kutools for Excel日付ピッカー機能を紹介します。この機能を有効にすると、日付セルをクリックするとカレンダーがポップアップ表示され、既存の日付を新しい日付に簡単に置き換えることができます。この機能を適用するには、以下の手順に従ってください。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. Kutools > テキスト > 日付ピッカーを有効にする をクリックします。

click Enable Date Picker feature

2. この機能を有効にすると、日付セルをクリックすると、セルの右側にカレンダーアイコンがポップアップ表示されます。

click on a date cell, and a calendar icon will pop up

3. カレンダーアイコンをクリックして 日付ピッカーダイアログボックスを開き、新しい日付をクリックして選択されたセルの日付を置き換えます。

Click the calendar icon to open the Date Picker dialog box

注意:

  • Undo button 元に戻すボタン: このボタンをクリックして日付の置き換えを取り消します;
  • Close button 閉じるボタン: このボタンをクリックして日付ピッカーダイアログボックスを閉じます;
  • この機能は、日付を含むセルにのみ適用できます。

  このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。


関連記事:

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!