当我的VBA脚本无法找出要使用的工作表时,它会打开一个Excel对话框:"选择工作表"。这是太棒了!如何以编程方式控制并使用" Sheet Select"对话框?
我正在编写使用
的代码Application.FileDialog(msoFileDialogFilePicker)
..设置变量=选择的文件名,但我也尝试将变量设置为该文件中的某个工作表。所有没有打开文件。
我希望工作流程为:
我已经通过了Application.Dialog(xl ...)的东西,但无法找到合适的选项。
请帮忙!并谢谢。
答案 0 :(得分:2)
你可以尝试这个(改编自Tom Urtis的here)
Option Explicit
Dim mySht As Worksheet
Sub SelectSheet()
Dim cmdBar As CommandBar
Dim cmdBarBtn As CommandBarButton
Dim sht As Worksheet
RegDel
Set cmdBar = Application.CommandBars.Add("Register", msoBarPopup)
For Each sht In ThisWorkbook.Worksheets
Set cmdBarBtn = cmdBar.Controls.Add
cmdBarBtn.Caption = sht.Name
cmdBarBtn.Style = msoButtonCaption
cmdBarBtn.OnAction = "SelectThatSheet"
Next sht
cmdBar.ShowPopup
MsgBox "you selected sheet '" & mySht.Name & "'"
End Sub
Sub SelectThatSheet()
Set mySht = Worksheets(Application.Caller(1))
RegDel
End Sub
Sub RegDel()
On Error Resume Next
Application.CommandBars("Register").Delete
On Error GoTo 0
End Sub