![](https://blogimg.goo.ne.jp/user_image/25/a2/5cc447009ffc9e792acc7bb19d6dbd5c.png)
Excel マクロ、VBA 関連の記事です・・・
# Excel だけではなく Access などでも使えるワザ・・・
Excel で日付を入力することは多いはず。
売上日を入力するなら、日付は昨日とか今日の場合が多いはず。
そんなとき、カレンダーから日付を選べるようにすれば喜ばれるかもしれません。
Visual Studio ならフォームに DateTimePicker を置くのはとても簡単。
(デザイン時)Windows フォームに DateTimePicker を追加・・・
![](https://blogimg.goo.ne.jp/user_image/10/d5/d0619128437c23f48e0afaf5926b247c.png)
(実行時)日付選択・・・
![](https://blogimg.goo.ne.jp/user_image/40/b2/37f90e6f126af755e288a92cbb2746c2.png)
でも、Excel(Access)の場合は
初期状態のままではシートにカレンダーを置くことはできません
なので、次のようにひと工夫してシートにカレンダーを置きましょう。
# カレンダーと書いていますが、「Date Time Picker」です。
1.リボン[開発]>[挿入]をクリックし、
ActiveX コントロール・右下の工具ボタンをクリックします
![](https://blogimg.goo.ne.jp/user_image/67/e6/56e0b957d75e1885e60b329a00b36844.png)
# リボンに[開発]が表示されていない場合は、
[ファイル]>[オプション]>[リボンのユーザー設定]>[開発]にチェックを入れます。
2.「コントロールの選択」で Microsoft Date and Time Picker Control を選択し、[OK] します
![](https://blogimg.goo.ne.jp/user_image/5f/e8/fa658cebd4e12afdd3d8361ac4c56e34.png)
3.Date Time Picker を置きたいセルの上をクリックします
シート(セル B14)に置いた Date Time Picker・・・
![](https://blogimg.goo.ne.jp/user_image/51/c6/745845c52d48749d2b7615b386e07538.png)
クリックすると、カレンダーが表示されます・・・
![](https://blogimg.goo.ne.jp/user_image/75/80/4fc1c6fba5d49bb66de301e0d2124a24.png)
あとは、選択された日付をどこかにセットするコードを書きます。
【コードのサンプル】
下のコードでは、選択された日付をセル C14 にセットしています。
オマケとして、C14 の表示形式やフォントなどを変更しています。
' ------------------------------------------------------------------------
' --- DateTimePicker で日付が選択された ● CloseUp イベントを利用●
Private Sub DTPicker1_CloseUp()
With Range("C14")
.Value = DTPicker1.Value ' -- DateTimePicker の値をセット
.NumberFormatLocal = "yyyy年 mm月 dd日 (aaa)"
.Font.ColorIndex = 3 ' -- 3: 赤
.Font.Name = "Meiryo UI"
.Font.Size = 12
End With
End Sub
' ------------------------------------------------------------------------
【結果】
![](https://blogimg.goo.ne.jp/user_image/6a/1a/f0a4e60612a87ba2d1ead01d8bea53a6.png)
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
# Excel だけではなく Access などでも使えるワザ・・・
Excel で日付を入力することは多いはず。
売上日を入力するなら、日付は昨日とか今日の場合が多いはず。
そんなとき、カレンダーから日付を選べるようにすれば喜ばれるかもしれません。
Visual Studio ならフォームに DateTimePicker を置くのはとても簡単。
(デザイン時)Windows フォームに DateTimePicker を追加・・・
![](https://blogimg.goo.ne.jp/user_image/10/d5/d0619128437c23f48e0afaf5926b247c.png)
(実行時)日付選択・・・
![](https://blogimg.goo.ne.jp/user_image/40/b2/37f90e6f126af755e288a92cbb2746c2.png)
でも、Excel(Access)の場合は
初期状態のままではシートにカレンダーを置くことはできません
なので、次のようにひと工夫してシートにカレンダーを置きましょう。
# カレンダーと書いていますが、「Date Time Picker」です。
1.リボン[開発]>[挿入]をクリックし、
ActiveX コントロール・右下の工具ボタンをクリックします
![](https://blogimg.goo.ne.jp/user_image/67/e6/56e0b957d75e1885e60b329a00b36844.png)
# リボンに[開発]が表示されていない場合は、
[ファイル]>[オプション]>[リボンのユーザー設定]>[開発]にチェックを入れます。
2.「コントロールの選択」で Microsoft Date and Time Picker Control を選択し、[OK] します
![](https://blogimg.goo.ne.jp/user_image/5f/e8/fa658cebd4e12afdd3d8361ac4c56e34.png)
3.Date Time Picker を置きたいセルの上をクリックします
シート(セル B14)に置いた Date Time Picker・・・
![](https://blogimg.goo.ne.jp/user_image/51/c6/745845c52d48749d2b7615b386e07538.png)
クリックすると、カレンダーが表示されます・・・
![](https://blogimg.goo.ne.jp/user_image/75/80/4fc1c6fba5d49bb66de301e0d2124a24.png)
あとは、選択された日付をどこかにセットするコードを書きます。
【コードのサンプル】
下のコードでは、選択された日付をセル C14 にセットしています。
オマケとして、C14 の表示形式やフォントなどを変更しています。
' ------------------------------------------------------------------------
' --- DateTimePicker で日付が選択された ● CloseUp イベントを利用●
Private Sub DTPicker1_CloseUp()
With Range("C14")
.Value = DTPicker1.Value ' -- DateTimePicker の値をセット
.NumberFormatLocal = "yyyy年 mm月 dd日 (aaa)"
.Font.ColorIndex = 3 ' -- 3: 赤
.Font.Name = "Meiryo UI"
.Font.Size = 12
End With
End Sub
' ------------------------------------------------------------------------
【結果】
![](https://blogimg.goo.ne.jp/user_image/6a/1a/f0a4e60612a87ba2d1ead01d8bea53a6.png)
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
![](https://blogimg.goo.ne.jp/user_image/74/f8/4c92568b05b542c5adef7ac20a148706.png)