我在UserForm中有一组TextBox,并希望用Excel填充数据。
TextBoxes的名称如下:“TextBoxXY”。 X对应列号,Y对应行号。
例如:
TextBoxA13需要具有单元格A3的值
TextBoxA35需要具有单元格C5的值
如何在VBA中执行此操作?
我尝试过类似的东西,但这不起作用。我看到它首先必须为每个Y工作X = 1,然后每个Y为X = 2。
Dim X As Long
Dim Y As Long
For X = 1 To 10
For Y = 1 To 10
With Controls("TextBoxA" & X & Y)
.Value = Cells(3 + X, 9 + Y)
End With
Next Y
Next X
答案 0 :(得分:1)
根据您的示例测试代码:
Option Explicit
Private Sub CommandButton1_Click()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then
If Left(Ctrl.Name, 8) = "TextBoxA" Then
Dim Col As Integer, Rw As Integer
Col = Mid(Ctrl.Name, 9, 1)
Rw = Mid(Ctrl.Name, 10, 1)
Ctrl.Value = Cells(Rw, Col).Value
End If
End If
Next
End Sub
TextBox名称为
TextBoxA11
TextBoxA12
TextBoxA13
分别