我试图通过双击工作表中的特定列来使用工作表的双击事件在用户窗体中的所有文本框中填充值。
例如:我有6列
ID Project Approval tool status feedback
1 A1 yes 123 ongoing good
2 B2 no 456 stop bad
当我双击列ID中的任何单元格时,将弹出带有文本框的用户窗体,并在该文本框中填充来自所有列(项目,审批,工具,状态,反馈)的值的文本框单击。因此,当我双击列ID中的“ 1”时,将弹出一个带有文本框值“ A1”,“是”,“ 123”,“进行中”,“良好”的用户窗体。
到目前为止,这是我的代码,我正在尝试双击事件。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, CANCEL As Boolean)
Dim UserForm2 As frm_Update
If Target.Column = 1 Then
Set UserForm2 = New frm_Update
CANCEL = True
With UserForm2
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Sheet1")
wks.Activate
.txtProject = Cells(Target.Row, 2)
.txtapproval = Cells(Target.Row, 3)
.txttool = Cells(Target.Row, 4)
.txtstatus = Cells(Target.Row, 5)
.txtfeedback = Cells(Target.Row, 6)
Me.Show
End With
End If
End Sub
我使用此Double click event作为我的问题的参考,但是我无法解决问题。运行代码时,我的用户窗体无法打开。
答案 0 :(得分:1)
Me
是指工作表,而不是 form 。由于工作表没有Show
方法,因此应该出现运行时错误。
只需将行更改为.Show
即可显示表单。
为避免此类错误,请始终将Option explicit
放在所有模块的顶部。如果这样做,则会出现编译器错误找不到方法或数据成员