2016-11-23 21 views
0

私は2つのユーザーフォームを用意しています.1つは、このガイドを使用してhttps://sites.google.com/site/e90e50/calendar-control-classを作成するカレンダーです.1つはbegindateとenddateが選択される場所です。私はfrmCalから選択された日付をuserform1上のテキストボックスに取得しようとしています。この私がUserForm1でユーザーフォームのテキストボックスに日付を取得する

Private Sub txtBegin_Enter() 
    controlwithfocus = ActiveControl.Name 
    frmCalendar.Show  
    UserForm1.txtBegin.Value = Calendar1.Value 
End Sub 
動作しません

から呼び出していますどのように、それは

オブジェクトのエラーがスローされます

を必要な今、この構文は、背後にあるカレンダーのコードにあり、あります細胞の問題に自由に書き込むことができます。私の問題は、セルに書きたくないということです。私はtxtBeginまたはtxtEndのどちらに書き込むかは、フォームカレンダーを開くためのテキストボックスに応じて書きたいと思います。

Private Sub Calendar1_DblClick() 
    ActiveCell.Value = Calendar1.Value 
    Unload Me 
End Sub 

どのように私は、「呼び出し」テキスト・ボックスではなく、ワークシート上のセルへの書き込みCalendar1.Valueを持つために、これを修正することができますか?

EDIT
そして、私はあなたがfrmCalendarをアンロードし、それから値を読み込むしようとしているエクセル2013 64ビット版

+0

何行にエラーがでスローされ、代わりに呼び出し元のコードに実行を返すためにMe.Hideを使用し、Calendar1_DblClickUnload Meを呼び出しますか? –

+0

公開されている日付変数を宣言する必要があります。あまりにも多くを見ることなく言うことは難しい –

+1

カレンダーコントロールがあるフォームを参照する必要がありますか?すなわちfrmCalendar.Calendar1.Value –

答えて

1

を使用しています。カレンダーフォームの既定以外のインスタンスを作成する必要があります(Newを使用)。

frmCalendarで:

Private Sub Calendar1_DblClick() 
    ActiveCell.Value = Calendar1.Value 
    Me.Hide 
End Sub 

UserForm1で:

Private Sub txtBegin_Enter() 
    controlwithfocus = ActiveControl.Name 
    With New frmCalendar      'Create a new form instance 
     .Show 
     txtBegin.Value = .Calendar1.Value  'Form is hidden, but not unloaded. 
    End With         'Form unloads here. 
End Sub 
+0

メソッドのコンパイルエラーが発生するか、または.Calendar1でデータメンバーが見つかりません。 'Object Required'のデバッグエラーが発生する –

+0

@StarsFlyFreeFromCozyNights - privateの代わりに 'Calendar1'をpublicにします。 – Comintern

+0

カレンダー1 =新しいcCalendar(これを設定するためにフォローしたリンクの構文) –

関連する問題