如何正确公开并设置工作表?

Public sp As Worksheet // on top of ThisWorkbook module ... Sub one() Set sp = Sheets("blueSky") // marked MsgBox sp.Name ... Sub two() Set sp = Sheets("blueSky") // marked MsgBox sp.Range("A1").Value 

标记线总是相同的。
那么,是否有可能只写一次标记行 – 在哪里?
我尝试了Workbook.Open事件 – 没有结果
我想在每个小组只写第三行 – 这是不同的。

如果你把下面的模块(而不是ThisWorkbook ),你会得到一个全局的Worksheetvariables:

 Option Explicit Global sp As Worksheet 

然后,您可以在ThisWorkbook (subs one()two()中的任何一种方式下将它应用于模块中):

 Option Explicit Public Sub one() Set sp = Sheets("Sheet1") '// marked MsgBox sp.Name End Sub Sub two() Set sp = Sheets("Sheet2") ' // marked MsgBox sp.Range("A1").Value End Sub Private Sub Workbook_Open() Set sp = Sheets("Sheet3") End Sub