我想寫一個宏,將創建一個彈出窗口,將允許我瀏覽工作簿的頁面之間。到目前爲止,我已經能夠填充一個運行一個簡單的宏的controlpopup,但我希望它能夠接受變量(即sheetname)以避免編寫一堆不同的宏。這是我到目前爲止。運行宏使用controlpopup vba
Sub Custom_PopUpMenu_1(Mname As String)
Dim MenuItem As CommandBarPopup
' Add the popup menu.
With Application.CommandBars.Add(Name:=Mname, Position:=msoBarPopup, _
MenuBar:=False, Temporary:=True)
With .Controls.Add(Type:=msoControlPopup)
.Caption = "Menu Control"
With .Controls.Add(Type:=msoControlButton)
.Caption = "Button 1 in menu"
.FaceId = 71
.OnAction = "'" & ThisWorkbook.Name & "'!" & "TestMacro"
End With
End With
End With
End Sub
這將運行宏「TestMacro」但我不知道怎麼寫,這樣它會接受一個字符串變量。我的其他方法是在每個.OnAction中更新一個全局變量,即sheetname,但我不確定如何做到這一點。 讓我知道你是否可以幫忙。謝謝!
蒂姆,錄像機控制是無用的,如果工作表被隱藏:) –
謝謝你,工作很好! – user3075100
如果您有更多時間來回答後續問題,那就太好了。上面的代碼對於定義的字符串很有效(在你的例子「blah22」中);但是如果你想添加一個字符串變量,你會怎麼做。我試圖編寫此代碼,但宏沒有被調用: .OnAction =「'」&ThisWorkbook.Name&「'!'TestMacro」&stringvariable&「'」 – user3075100