工作表名称的全局变量

时间:2018-01-22 18:30:00

标签: excel-vba vba excel

我需要为工作表名称声明全局变量,以便在需要更改工作表名称时,可以在一个位置更改它。这将有助于防止用户挖掘每个宏以查找每个工作表名称的使用位置。

以下是我对全局变量的看法。当以这种方式使用时,您将获得"无效的外部程序"对于每个" Set"实例。我知道" Set"需要在一个过程中,但我怎么能避免这种情况,这样我只需要在一个位置更改所有宏的名称。

Option Explicit 'Global Variables Dim WS As Worksheet Dim VB As Worksheet Dim DB As Worksheet Dim ED As Worksheet Dim OC As Worksheet Dim SH As Worksheet Dim SL As Worksheet Set WS = Sheets("WorkSheet") Set VB = Sheets("VBA Codes") Set DB = Sheets("Dashboard") Set ED = Sheets("Extra Details") Set OC = Sheets("Occupancy") Set SH = Sheets("Shrinkage") Set SL = Sheets("SL Impact")

以防我上面描述的内容没有意义。以下是一个例子:

  

示例:我从" Dashboard"更改了工作表的名称。到"摘要"。为了避免更改" Dashboard"的所有实例在宏中,我只需要将全局变量更改为"摘要"。

1 个答案:

答案 0 :(得分:1)

公共工作簿作为工作簿 公共工作表作为工作表

有函数init。

Function init()
Set workbook = thisworkbook
set worksheet = workbook.worksheets("sheet1")
End function

在工作簿open sub中调用init方法一次。公共对象应该持续用于其他用途。

如果您想在仪表板中显示进度,请参阅本教程:https://youtu.be/zH8eleVVpm8