我在VBA中用許多文本框製作了一個用戶界面。我讀了一張excel表格,並將其中的所有值放在我用戶界面的所有文本框中。因此,用戶可以修改這些值,然後將其保存在Excel工作表中。如何在VBA中使用循環功能填充許多texbox
因爲我們無法像數組(textBox(1),textbox(2)....)那樣命名文本框,所以使用循環函數很難填充文本框。
我試圖使用標記或tabindex屬性,但我沒有找到繼續進行的好方法....是否有人知道一個簡單的方法來解決這個問題!
謝謝
我在VBA中用許多文本框製作了一個用戶界面。我讀了一張excel表格,並將其中的所有值放在我用戶界面的所有文本框中。因此,用戶可以修改這些值,然後將其保存在Excel工作表中。如何在VBA中使用循環功能填充許多texbox
因爲我們無法像數組(textBox(1),textbox(2)....)那樣命名文本框,所以使用循環函數很難填充文本框。
我試圖使用標記或tabindex屬性,但我沒有找到繼續進行的好方法....是否有人知道一個簡單的方法來解決這個問題!
謝謝
迭代窗體的控件集合。
例如,假設您的用戶形式被稱爲myForm會,然後
myForm.Controls(i)
讓你的手柄在myForm的任何控制。現在,您可以使用控件屬性來確定您正在查看哪個(標籤,文本框,按鈕等)。我建議你使用標籤如hmmmm ....「TEXTBOX」,以緩解id的過程。
if myForm.Controls(i).Tag="TEXTBOX" then 'it's my textbox ! hurraay!!!
是的,你可以。
名稱的文本框Textbox1的,TextBox2中等等,然後用
Form.Controls("Textbox" & ID)
訪問他們,你可以使用此代碼來填充多textboxs
Dim rs As Object
Dim i As Integer
Dim ctlr As Control
Set rs = Me.Recordset.Clone
For Each ctlr In Me.Controls
If TypeOf ctlr Is TextBox Then
For i = 0 To ctlr.Controls.Count
On Error Resume Next
ctlr.Value = rs!SomeField
rs.MoveNext
Next i
End If
Next
謝謝,我用myForm.Controls(I)。文本這很好。感謝提示! – user90714 2010-05-31 18:17:32
謹慎的話,VB在運行時解析對象的屬性,而Text是一個不存在的屬性名稱,例如對於標籤(和其他控件)......所以,你必須在一個On之後檢查你的err.number錯誤轉到下一步,或通過檢查所有控件(標記,名稱等)的屬性來完全避免它。 很高興我能幫到你。 – jpinto3912 2010-05-31 18:52:37