[[20161201061945]] 『コマンドボックスの日付』(ひづけ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コマンドボックスの日付』(ひづけ)

エクセル2010 ですが日付を入力するコマンドボックスがあります
Access2013だとコマンドボックスの設定にカレンダーが簡単に設置でき
四角ボタンをクリックするとカレンダーが出てきて日付を選べますが同様にエクセルもできますか?

やり方教えてください

< 使用 Excel:Excel2010、使用 OS:WindowsVista >


年、月、日をそれぞれ選択するための3つのコンボボックスを用意するのはどうでしょうか

(マナ) 2016/12/01(木) 06:28


 ユーザーフォーム上のテキストボックスで有れば下記を参考にしてはどうか。

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_100.html
(ねむねむ) 2016/12/01(木) 09:16


以前のOfficeで、Accessも入っているものであれば、カレンダコントロール(MSCAL.OCX)というのが付属しており、これをユーザーフォームに貼るだけで、簡単にワンクリックで年月日指定できて便利だったのですが、2010では無くなってしまいました。 今でもOCXを探せば、怪しいサイトで見つけることができますが、欺しの広告枠が多かったりしていますし、正規の手順ではないので、お薦めはできません。

ユーザーフォームにラベルや年、月のコンボボックスをレイアウトして、同じ機能を自作するのが良いかと思います。(ねむねむさんご紹介のやつは、上記のカレンダコントロールに似たデザインです)

または、結構手間なので、普通に文字列手入力で済ませても良いかと思います。 例えば、以下のコードで、A列は日付以外ならば消してしまうようにできます。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim R As Range

    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

    Application.EnableEvents = False
    For Each R In Target
        If R.Column = 1 Then
            If IsDate(R.Value) = False Then
                R.ClearContents
            Else
                R.Value = Format(DateValue(R.Value), "YYYY/MM/DD")
            End If
        End If
    Next R
    Application.EnableEvents = True
 End Sub

元々、Excelには CTRL+; で今日の日付を代入する機能があるので、慣れれば手入力でも苦にならないかと思いますよ。
(???) 2016/12/01(木) 09:33


探してみたところ、有用そうなものがありました。
http://www.h3.dion.ne.jp/~sakatsu/

このページ内で、以下にいろいろな情報が書かれていて、面白いです。
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips06.htm
(???) 2016/12/01(木) 09:38


 ???さんご紹介のページは移動しているようだ。
 (???さんがリンクした旧ページも2017年10月までは残しておくそうだが)

 新しいURLは

http://addinbox.sakura.ne.jp/index.htm

http://addinbox.sakura.ne.jp/Excel_Tips06.htm

 となるようだ。
(ねむねむ) 2016/12/01(木) 10:01

みなさんありがとうございます。いやビックリ。
こんなに難しい事だったとは
(ひづけ) 2016/12/01(木) 22:07

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.