特定のセルをクリックしたときにカレンダーをポップアップ表示するにはどうすればよいですか?
ワークシート内に日付を頻繁に入力したり変更したりする必要がある列範囲があるとします。しかし、毎回手動で日付を入力したり変更したりするのは退屈です。どのようにすれば、列範囲に手動で入力することなく迅速に日付を入力できるでしょうか?この記事では、特定の範囲内のセルをクリックした際にカレンダーをポップアップ表示し、カレンダーから日付を選択後に自動的に選択されたセルに日付を挿入する方法について説明します。
VBAコードを使用して特定のセルをクリックしたときにカレンダーをポップアップ表示
以下の手順に従って、この問題を解決してください。
注意: この方法は、Microsoft Excel 32ビットでのみ動作します。
ステップ 1: カレンダー付きのユーザーフォームを作成
クリックした際にポップアップされるカレンダーを含むユーザーフォームを作成してください。
1. Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2. Microsoft Visual Basic for Applicationsウィンドウで、挿入 > ユーザーフォームをクリックします。
3. その後、ユーザーフォームとツールボックスウィンドウがポップアップ表示されます。ツールボックスで任意のコントロールをクリックして右クリックし、右クリックメニューからその他のコントロールを選択します。スクリーンショットをご覧ください:
4. 「その他のコントロール」ダイアログボックスで、「利用可能なコントロール」ボックス内の「Microsoft MonthView Control」オプションをチェックし、「OK」ボタンをクリックします。
5. これで、ツールボックスウィンドウにMonthViewボタンが追加されました。このMonthViewボタンをクリックし、次にUserForm1ウィンドウをクリックして、ユーザーフォーム内にカレンダーを作成します。
注意: ユーザーフォームウィンドウのサイズを調整して、挿入されたカレンダーに合わせることができます(ユーザーフォームの境界線をドラッグすることで)。
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
注意: このコードは、カレンダーから日付を選択した後、選択されたセルに日付を挿入するのに役立ちます。
ステップ 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は、カレンダーをポップアップさせるセルです。必要に応じてセル範囲を変更してください。
8. Alt + Qキーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを閉じます。
これで、現在のワークシート内の指定された範囲のセルをクリックすると、下のスクリーンショットに示すようにカレンダーがポップアップ表示されます。また、カレンダーから日付を選択すると、選択されたセルに自動的に日付が挿入されます。
VBAコードを使用して特定のセルをクリックしたときにカレンダーをポップアップ表示
このセクションでは、Kutools for Excelの日付ピッカー機能を紹介します。この機能を有効にすると、日付セルをクリックするとカレンダーがポップアップ表示され、既存の日付を新しい日付に簡単に置き換えることができます。この機能を適用するには、以下の手順に従ってください。
1. Kutools > テキスト > 日付ピッカーを有効にする をクリックします。
2. この機能を有効にすると、日付セルをクリックすると、セルの右側にカレンダーアイコンがポップアップ表示されます。
3. カレンダーアイコンをクリックして 日付ピッカーダイアログボックスを開き、新しい日付をクリックして選択されたセルの日付を置き換えます。
注意:
元に戻すボタン: このボタンをクリックして日付の置き換えを取り消します;
閉じるボタン: このボタンをクリックして日付ピッカーダイアログボックスを閉じます;
- この機能は、日付を含むセルにのみ適用できます。
このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。
関連記事:
- Excelで特定のセルをクリックしてマクロをトリガーまたは実行するにはどうすればよいですか?
- Excelでセルがクリックまたは選択されたときにセルの色を変更するにはどうすればよいですか?
- Excelで特定のセルをクリックしたときにメッセージボックスをポップアップさせるにはどうすればよいですか?
- Excelでボタンを一度クリックした後に無効にするにはどうすればよいですか?
- Excelでシートタブの右クリックを無効にするにはどうすればよいですか?
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得