excel - VBA:在用户窗体中右键单击

标签 excel vba userform right-click popupmenu

有没有一种简单的方法可以在vba、excel中的用户窗体的文本框中启用右键单击弹出菜单?我只是想粘贴到文本框中,但无法在用户表单中右键单击打开菜单

我的代码给出了“编译错误:参数不可选”并突出显示了 With Controls.Add ... 中的 .Add ...

 Private myMenu

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If (Button = 2) Then myMenu.ShowPopup
End Sub

Private Sub UserForm_Initialize()
    With UserForm1
        .StartUpPosition = 2
    End With

    Set myMenu = Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True)

    With myMenu
        With Controls.Add
            .Caption = "Hello"
            .OnAction = "HelloWorld"
        End With
    End With
End Sub

最佳答案

更改此行:

With Controls.Add

致:

With .Controls.Add

关于excel - VBA:在用户窗体中右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68806680/

相关文章:

excel - VBA 优化代码运行速度更快,用户创建的函数太慢

string - VBA:计算字符串中最常见字符的出现次数

vba - 如何获取多列列表框中选定的值

list - Excel VBA 列表验证 - 特殊的运行时错误

excel - 从 vbscript 自动填充 Excel 文件中的 Excel 用户表单

excel - 保留重复但区分它们

excel - If NOT ActiveSheet.Range() Is Nothing 当它什么也没找到时不断出错

sql-server - 如何实现高性能 Excel VSTO 到 SQL Server?

excel - VBA 滚动平均值

excel - 如何在不打开 Excel 的情况下运行宏