『別フォームの値を表示する』(nin) form1では、1つの案件の情報を入力するフォームです。 form2では、form1の中のコンボボックス(日付入力)のドロップボタンした時に、 表示するフォームで、カレンダー上になっていて入力指定されてあります。 そこで、form2で該当した日付をチェックしたときに、 form2を閉じて、値をform1のコンボボックス欄に入力したいのですが、 よい方法があれば教えてください。 form1 public sub cbo日付 _DropButtonClick() form2 Private Sub Calendar1_Click() それぞれ、最初の宣言が合っているのかもわかりません。 よろしくお願いします。 ---- Form2のCalendar1なるものが、何者なのか不明だけど、その値が Calendar1.Value に入っているとする。 で、Form2を閉じるまえに、適切な場所、たとえばCalendar1.Click の中で Form1.cbo日付.Value に値を転記してやればいい。 Private Sub Calendar1_Click() Form1.cbo日付.Value = Calendar1.Value End Sub ただし、データの型式がyyyy/mm/dd といったようなものだった場合、cbo日付にはシリアル値で 格納されるので、そうであれば一工夫が必要。 だけど・・・・???? cbo日付 はコンボボックスだよね? ということは、リストから何かを選ぶのが第一義。 (もちろん、入力してもいいし、今回のように、マクロで値をせっとしてもいいけど) ということは、そのcbo日付のリストそのものが選択候補の日付のリストじゃないの? であれば、そこから日付を選べばいい。なぜ、わざわざ別フォームを表示させて、そこで日付を選ぶのかな? Form1側がコンボボックスじゃなく、たとえばテキストボックス等ならうなずけるけど? (ぶらっと) ---- 解答ありがとうございます。 確かにcbo日付にて選択させれば、事が足りますね・・・ 今回は、見やすさを重視してやってみようかと思います。 言い忘れていたのですが、 form2は、form1からだけでなく、別フォームの複数のコマンドからできるようにしたいと考えています。 1対1であれば Form1.cbo日付.Value = Calendar1.Value でよいのですが、 複数になった場合の値の受け渡しが分かりません。 よろしくお願いします (NIN) ---- Form2がモーダル表示なら、たとえば。 標準モジュールにパブリック変数で、Form2の選択結果を格納する変数を規定して Form2では、そこにセット。 Form1他、Form2を呼び出したフォーム側では、戻ってきたらその変数から選択された値を取得。 ほかにも、いろいろ手はあるけど。 (ぶらっと) ---- Form2ではなにもせず、パブリック変数も使わず以下の方法でも。 (ただし、Form2の呼び出しはモーダルで) Private Sub Cbo日付_DropButtonClick() With Form2 .Show cbo日付.Value = .Calendar1.Value End With End Sub (ぶらっと) ---- なるほど、form2以外でも値を入力することができるんですね!! 勉強になります。 カレンダーのチェック時に入力を実行するようにすることもできますか? ---- その Calendar1 って、どんなコントロールなの? 選んだときにクリックイベントが発生するようなものであれば Private Sub Calendar1_Click() UnLoad Me End Sub かなぁ?(Calendar1が何物かがわからないのでだめかもしれないけどね) (ぶらっと) ---- 度々のコメントですみません。 カレンダーは、エクセルの"カレンダーコントロール10.0”を使用しています。 ---- 完璧です!! 思い通りになりました。 お手数おかけしました。 ありがとうございました。 NIN