2016-09-30 5 views
0

私は月別のコントロールを別のユーザーフォームで使用しています。dateformと呼ばれています。Excelを使用して動的に作成されたテキストボックス名に値を割り当てる

という名前のExcelのユーザーフォームに複数の日付フィールドがあります。Update_Entries_Newしたがって、以下のような月ビューのカレンダーをクリックした日付を直接参照することはできません。この問題を解決するために

Update_Entries_New.Invoice_date.Value = DateClicked 

、私はプロジェクトを持っているすべてのユーザーフォーム内のすべての日付フィールドにmonthviewのcalanderにアクセスするために動的にUpdate_Entries_New.Invoice_date.Valueを生成しています。

ダイナミックに作成されたテキストボックス名(Excelシートセルから選択)を使用すると、calenderが入力された場所のテキストボックス値でmonthview calanderをクリックした日付が更新されません。これがなぜ起こっているかの手掛かり。

私の現在のコード

+0

私は別のポストを更新忙しかったクールです。新しく追加されたコントロールは、コレクションを繰り返し処理することなく名前を使用して参照できます(例:Update_Entries_New.Controls( "Invoice_date")。Value = DateClicked)。 –

+0

あなたのソリューションを投稿し、投稿を閉じるための答えとしてそれを受け入れるべきです。 –

答えて

0

私は、次のコードを使用してこの作業を得た:

Private Sub MonthView1_DateClick(ByVal DateClicked As Date) 
    test = Sheets("Data").Range("m1").Value 
    CB = Sheets("Data").Range("m2").Value 
    CBVal = DateClicked 

    If test = "Update_Entries_New" Then 
     For Each contr In Update_Entries_New.Controls 
       If contr.Name = CB Then 
        contr.Value = CBVal 
       End If 
     Next 
    End If 

    Unload dateform 
End Sub 
関連する問題