如何解决动态将双击事件添加到新工作表 VBA
VBA。我已经弄清楚了如何添加一个在更改的单元格上触发的事件,但是对于某些共振,我无法对单击的单元格执行此操作。最终,我希望用户在A列内双击时触发事件。据我所知。
Sub CreateEventProcedure()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
Const DQUOTE = """" ' one " character
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("ThisWorkbook")
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CreateEventProc("Open","Workbook")
LineNum = LineNum + 1
.InsertLines LineNum," MsgBox " & DQUOTE & "Hello World" & DQUOTE
End With
End Sub
解决方法
请尝试下一个代码,
Sub CreateEventDBlClickProcedure()
Dim VBProj As VBIDE.VBProject,VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule,LineNum As Long
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("ThisWorkbook")
Set CodeMod = VBComp.CodeModule
'Check if the event is not already created:
If CodeMod.Find("Private Sub Workbook_SheetBeforeDoubleClick",1,CodeMod.CountOfLines,False) = True Then
MsgBox "Event already created...": Exit Sub
End If
With CodeMod
.AddFromString "Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object,ByVal Target As Range,Cancel As Boolean)" & vbCrLf & _
" MsgBox ""Hello World from sheet "" & Sh.Name" & vbCrLf & _
"End Sub"
End With
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。