【发布时间】:2018-09-18 11:21:11
【问题描述】:
当单击双击行中的特定列时,我正在尝试使用工作表的双击事件来填充用户表单中的所有文本框。
例如:我有 6 列
ID Project Approval tool status feedback
1 A1 yes 123 ongoing good
2 B2 no 456 stop bad
当我双击列 ID 中的任何单元格时,带有文本框的用户表单将弹出一个文本框,其中填充了所有列(项目、批准、工具、状态、反馈)中的值,该行是双倍的-点击。所以,当我双击列 ID 中的“1”时,应该会弹出一个用户表单,其中包含文本框值“A1”、“yes”、“123”、“ongoing”、“good”。
这是我目前正在尝试双击事件的代码。
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 作为我的问题的参考,但我无法解决问题。当我运行代码时,我的用户表单没有打开。
【问题讨论】:
-
如果你想显示用户表单,我有什么好处。我指的是工作表而不是用户表单。它甚至不应该编译,因为 SHow 不是工作表的方法,
-
另外,您不需要激活您的工作表。您已经有一个绑定到您的工作表。因此,删除
wks.Activate并将您的手机呼叫更改为:.txtProject = wks.Cells(Target.Row, 2)