使用 VBA 编辑文本的用户表单
UserForms to Edit Text with VBA
我现在设置了一个很好的流程,可以使用一系列用户表单将数据添加到 Excel,但我希望能够使用用户表单编辑数据,而不是在电子表格中查找数据。
我在 UserForm1 中有两个组合框:
ComboBox1 - 与 Sheet1 中的 A 列相关
ComboBox2 - 与 Sheet1 中的 B 列有关
当这两个匹配行中的数据时,我希望行的其余部分(列的 C 到 F)填充 TextBox1-4 并允许我编辑数据以在电子表格中进行实时更改。
我一直在兜圈子!任何帮助都会非常有用,因为现在即使设置这种类型的参数也超出了我的 VBA 知识范围。
此代码是表单的代码。请注意,“Dim Row...”语句必须位于代码模块的最顶部。这是为了让您跟踪找到数据的行,以便稍后将其写回工作表:
Dim row As Long
Private Sub CommandButton1_Click()
Dim s As Worksheet
Set s = ActiveSheet ' use for active sheet
'Set s = Worksheets("Sheet1") ' use for a specific sheet
For row = 1 To s.Cells(s.Rows.Count, 1).End(xlUp).row
If s.Cells(row, "A").Value = ComboBox1.Value And _
s.Cells(row, "B").Value = ComboBox2.Value Then
TextBox1.Value = s.Cells(row, "C").Value
TextBox2.Value = s.Cells(row, "D").Value
TextBox3.Value = s.Cells(row, "E").Value
TextBox4.Value = s.Cells(row, "F").Value
End If
Next
End Sub
我现在设置了一个很好的流程,可以使用一系列用户表单将数据添加到 Excel,但我希望能够使用用户表单编辑数据,而不是在电子表格中查找数据。
我在 UserForm1 中有两个组合框: ComboBox1 - 与 Sheet1 中的 A 列相关 ComboBox2 - 与 Sheet1 中的 B 列有关
当这两个匹配行中的数据时,我希望行的其余部分(列的 C 到 F)填充 TextBox1-4 并允许我编辑数据以在电子表格中进行实时更改。
我一直在兜圈子!任何帮助都会非常有用,因为现在即使设置这种类型的参数也超出了我的 VBA 知识范围。
此代码是表单的代码。请注意,“Dim Row...”语句必须位于代码模块的最顶部。这是为了让您跟踪找到数据的行,以便稍后将其写回工作表:
Dim row As Long
Private Sub CommandButton1_Click()
Dim s As Worksheet
Set s = ActiveSheet ' use for active sheet
'Set s = Worksheets("Sheet1") ' use for a specific sheet
For row = 1 To s.Cells(s.Rows.Count, 1).End(xlUp).row
If s.Cells(row, "A").Value = ComboBox1.Value And _
s.Cells(row, "B").Value = ComboBox2.Value Then
TextBox1.Value = s.Cells(row, "C").Value
TextBox2.Value = s.Cells(row, "D").Value
TextBox3.Value = s.Cells(row, "E").Value
TextBox4.Value = s.Cells(row, "F").Value
End If
Next
End Sub