| すぐマク YNxv9g1720 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| カレンダーコントロールとコンボボックスを連係させるには? |
|
|
|||
ユーザーは最初に選択したいコンボボックスでマウスを左クリックしてから、カレンダーコントロールで任意の日付を選択すると考えてよいならば、次のコードで実現可能と思います。右図および下記のマクロでは 2つのコンボボックスしか例示していませんが、同じ要領で 6つに増やしてください。 このマクロは、コンボボックス上でマウスをクリックしたときに発生する「MouseUp」イベントを利用しています。ユーザーフォームのコード画面に作成します。
'-----------------------------------------------------------------------------------------
Option Explicit
Dim 番号 As Integer
'
Private Sub ComboBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
番号 = 1
End Sub
'
Private Sub ComboBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
番号 = 2
End Sub
'
Private Sub Calendar1_Click()
Controls("ComboBox" & 番号).Value = Calendar1.Value
End Sub
'-----------------------------------------------------------------------------------------
Controlsコレクションについて知りたければ 「オブジェクト名を変化させながら使うには?」 のページを見てください。ところで、なぜコンボボックスを使うのか、テキストボックスではいけないのか、支障がなければ教えてください。 サンプルブックのダウンロードは ここをクリック (YNxv9g1720_Calender.xls 43KB) ※ 一旦、ブックをハードディスクに保存し、後で改めて開いてから実行してください。 |
|
|||||
|
貴重な回答をありがとうございます。この問題にぶつかってから5週間が経ってしまいました。コンボボックスを使う理由を以下ように書きつづっておきます。 最初はテキストボックスで行っていましたが、なんとかもっと楽に入力できないかと考え、コンボホックスにて一ヶ月分の日付を入力したシートを参照させていました。これには毎月シートを書き換える必要がありましたが、それなりになんとか使用できました。 そしてこのホームページにて、カレンダーコントロールの存在を知り現在に至りました。 専門誌に記載されていないことばかりで、これからもレスキューをお願いするかもしれませんが、よろしくお願いいたします。 本当にありがとうございました。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |