自定义菜单通过.OnAction传递WorkSheet变量

时间:2015-05-29 18:48:35

标签: excel vba excel-vba

我一直在使用这篇文章作为向现在传递变量的指南Excel, VBA: How to pass multiple variables to .OnAction

它运作良好。不幸的是,这次我试图传递一个工作表参数,但它无效。这是一段代码,你可以看看。这是一个右键菜单:

       With menu.Controls.Add(Temporary:=True, Type:=msoControlButton, before:=i_menu)
            .BeginGroup = False
' ' ' ' ' ' .OnAction = "'" & ThisWorkbook.Name & "'!" & "'saute """ & num_doc & """,""" & num_etape & """'"
            .OnAction = "'" & ThisWorkbook.Name & "'!" & "'saute """ & num_doc & """,""" & num_etape & """,""" & ws & """'"
            .FaceId = 478
            .Caption = "Sauté"
            .Tag = "commande_custom"
        End With

带有多个撇号的行是我的旧行,这是有效的。我在它下面添加了一个工作表参数。作为参考,saute是一个子,其参数是(num_doc为字符串,num_etape为字符串,ws为Worksheet)。我也试过在ws的左右两个使用两个引号,但无济于事。任何人都可以帮助弄清楚如何发送和/或提出另一种方式将信息发送到我的Sub(无论是字符串还是其他东西)?

1 个答案:

答案 0 :(得分:1)

显然,在摆弄它之后,我发现一个工作表不是一个,而是三个,而是两个引用。数字变量和变量采用1对引用,字符串采用3.解析行:

.OnAction = "'" & ThisWorkbook.Name & "'!" & "'saute """ & num_doc & """,""" & num_etape & ""","" & ws & ""'"
相关问题