2016-09-30 55 views
0

我使用MonthView控件作爲壓延機在單獨的窗體稱爲dateform動態生成文本框的名字。分配值使用Excel VBA

我對Excel VBA中用戶窗體的多個日期字段名爲Update_Entries_New因此我不能直接引用日期monthview壓延點擊如下圖所示(雖然直接引用類似下面工作完全正常)。

Update_Entries_New.Invoice_date.Value = DateClicked 

爲了解決這個問題,我生成Update_Entries_New.Invoice_date.Value動態訪問monthview砑光機在我在項目中的所有用戶窗體所有日期字段。

當我使用動態創建文本框名稱(從Excel工作表單元格挑)日期點擊monthview壓延機中不被更新從得到填充砑光機,其中文本框的值。任何線索爲什麼會發生這種情況。

我當前的代碼

+0

這很酷,我正忙着更新另一篇文章。您可以使用他們的名字指的是新加入的控制,而不遍歷集合(例如Update_Entries_New.Controls(「Invoice_date」)。值= DateClicked)。 – 2016-09-30 07:26:16

+0

你應該張貼您的解決方案,並接受它的答案關閉您的文章。 – 2016-09-30 07:29:06

回答

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