当用户打开已保存的工作簿时,我想从隐藏的工作表中加载数据。
我以为我会使用Workbook_Open
Sub并从该Sub加载该工作表中的数据,但是后来调用了这个Sub,我还没有任何工作簿。
以下是一个例子:
Private Sub Workbook_Open()
Debug.Print "Open: " & Workbooks.Count 'prints 0 to console
End Sub
我也试过这种方法:
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Sheets
Debug.Print sh.name
'prints only Sheet1, Sheet2, Sheet3 and do not print the name of my data sheet.
Next sh
End Sub
所以我的问题是:当用户打开工作簿时,如何按名称获取工作表?
答案 0 :(得分:0)
我认为你只是缺少一些参考文献。
我刚试过这个并且工作得很好:
Private Sub Workbook_Open()
Debug.Print "Opened wB: " & Application.Workbooks.Count
Dim wS As Worksheet
Debug.Print "Sheets: "
For Each wS In ThisWorkbook.Sheets
Debug.Print wS.Name
Next wS
End Sub