繁体   English   中英

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

[英]How to correctly Public and Set a Worksheet?

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事件-没有结果
我想在每个Sub中只写第三行-始终是不同的。

如果将followin放在模块(不是ThisWorkbook )中,则会得到一个全局Worksheet变量:

Option Explicit

Global sp As Worksheet

然后,您可以在ThisWorkbook中以下列任何一种方式进行处理(sub 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM