カレンダーコントロールとコンボボックスを連係させるには?

Question 80.6   Previous Next
初めて質問させていただきます。内容は以下のとうりです。
フォーム上にカレンダーコントロール1つと、コンボボックスを多数配置してあります。 日付の入力を複数のコンボボックスに入力するためには、どのように記述すればできるようになるでしょうか?

ちなみにコンボボックスがひとつの場合は問題ないのですが、今の状態ですと、ボックスの数だけカレンダーコントロールが必要になります。以下に状況を説明させていただきます。
  ・日付の入力されるコンボボックスは6個あり、それぞれが更新される前提。
  ・そのために、1度入力されても打ち直しが発生することがある。
  ・よって、任意のコンボボックスにカレンダーコントロールから入力したい。
マウスにてフォーカスを移動した任意のコンボホックスに入力したいのですが、方法が見つかりません。現在はすべて手入力しています。
次のように記述するとコンボホックス2に対しては、入力できますが、ほかのコンボホックスは入力できません。
Private Sub Calendar1_Click()
    ComboBox2.Value = Calendar1.Value
End Sub
また、次のように一部変更して記述してみても "オブジェクトがありません" とエラーになってしまいます。
Private Sub Calendar1_Click()
Dim 番号 As Integer
    番号 = ComboBox.no(ComboBox_GotFocus)
    ComboBox(番号).Value = Calendar1.Value
End Sub
勉強不足のため、基本的に記述が間違っているかもしれませんが、今行っている作業を少しでも軽くするために、ひとつのカレンダーコントロールで、複数のそれも任意のコンボボックスに日付を入力する方法を教えていただけませんか? よろしくお願いします。
Answer   Copyright (C) 2001.11.27 永井善王
注意事項
カレンダーコントロールは Access 2010で削除されました。
よって、Microsoft Office Professional 2010の一部であるExcel 2010であっても利用できません。
カレンダーコントロールとコンボボックス ユーザーは最初に選択したいコンボボックスでマウスを左クリックしてから、カレンダーコントロールで任意の日付を選択すると考えてよいならば、次のコードで実現可能と思います。

右図および下記のマクロでは 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週間が経ってしまいました。コンボボックスを使う理由を以下ように書きつづっておきます。
最初はテキストボックスで行っていましたが、なんとかもっと楽に入力できないかと考え、コンボホックスにて一ヶ月分の日付を入力したシートを参照させていました。これには毎月シートを書き換える必要がありましたが、それなりになんとか使用できました。
そしてこのホームページにて、カレンダーコントロールの存在を知り現在に至りました。 専門誌に記載されていないことばかりで、これからもレスキューをお願いするかもしれませんが、よろしくお願いいたします。
本当にありがとうございました。

Excel VBA Macro