定义公共范围

时间:2017-03-31 16:38:59

标签: vba excel-vba excel

我使用以下代码在子自定义范围中创建:

Dim custom_range(1 To 5) As Range

Set custom_range(1) = ActiveWorkbook.Sheets("Countries").Columns(5).Cells
Set custom_range(2) = ActiveWorkbook.Sheets("Operations").Columns(2).Cells
Set custom_range(3) = ActiveWorkbook.Sheets("Costs").Columns(2).Cells
Set custom_range(4) = ActiveWorkbook.Sheets("Revenue").Columns(2).Cells
Set custom_range(5) = ActiveWorkbook.Sheets("FS").Columns(2).Cells

我面临的问题是我在几个潜艇中使用相同的代码,但我只想做一次。

创建public sub然后不幸地调用它不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我可能得到"腐烂的西红柿"这里是发布此内容,但您可以使用下面的简单Init子。

只需将它放在一个单独的代码模块中,无论您需要使用这些custom_range数组,只需调用此子。

代码(在初始化模块中)

Option Explicit

Public custom_range(1 To 5) As Range

Sub Init()

Set custom_range(1) = ActiveWorkbook.Sheets("Countries").Columns(5).Cells
Set custom_range(2) = ActiveWorkbook.Sheets("Operations").Columns(2).Cells
Set custom_range(3) = ActiveWorkbook.Sheets("Costs").Columns(2).Cells
Set custom_range(4) = ActiveWorkbook.Sheets("Revenue").Columns(2).Cells
Set custom_range(5) = ActiveWorkbook.Sheets("FS").Columns(2).Cells

End Sub