我正在尝试使用以下方法编辑一些对象文本:
' Textbox1
' Textbox2
' Textbox3
Sub Change_Text()
Dim i As Integer
For i = 1 To 3
UserForm1.Textbox & i = "Hi"
Next i
End Sub
我认为代码可以解释我的问题,当然,它返回一个错误,我不知道该怎么办...
答案 0 :(得分:2)
你可以那样做
For i = 1 To 3
Controls("Textbox" & i) = "Hi"
Next i
答案 1 :(得分:2)
可能的最佳解决方案(与您的示例不同)是遍历所有Textbox
es
Private Sub loop_through_conts()
Dim cont as Control
For Each cont in Me.Controls
If TypeName(cont) = "Textbox" Then
Select Case Right(cont.Name, 1) ' in case you want only first three
Case 1 To 3
cont.Text = "Hi"
End Select
End If
Next cont
End Sub
这样,您的代码是动态的,不必添加新的Textbox
即可重写