首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将双击事件动态添加到新工作表。VBA

将双击事件动态添加到新工作表。VBA
EN

Stack Overflow用户
提问于 2020-09-12 02:32:54
回答 1查看 31关注 0票数 0

VBA。我已经知道如何在改变的单元格上添加触发事件,但由于某些原因,我无法对单击的单元格执行此操作。最终,我希望当用户双击A栏时触发事件。这是我能得到的最大结果。

代码语言:javascript
复制
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 
EN

回答 1

Stack Overflow用户

发布于 2020-09-12 02:50:23

请尝试下一个代码:

代码语言:javascript
复制
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, 1, CodeMod.CountOfLines, 1, 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63852516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档