我在全局使用变量可能有一个简单的问题:
我想调暗并设置各种范围,以便在不同的子菜单中使用它们。 给出的简单示例:
Sub Variables()
Dim rng1 as Range
Set rng1 = Worksheets("Sheet1").Cells
Dim rng2 as Range
Set rng2 = Worksheets("Sheet2").Cells
End Sub
然后,为了在其他子代码中使用我的变量,我尝试调用我的Variable子代码,例如:
Sub calc()
Call Variables
Dim i as Integer
i = rng1.Find("Hello").Column
With Sheet1.Cells(1, i)
.Value = "World"
End With
我收到错误“需要对象”。我还尝试将变量定义为Public Sub,但仍然无法正常工作。
希望您知道如何解决此问题或提供其他方法!
谢谢!
答案 0 :(得分:0)
Option Explicit
Dim rng1 As Range
Dim rng2 As Range
Sub Variables()
Set rng1 = Worksheets("Sheet1").Cells
Set rng2 = Worksheets("Sheet2").Cells
End Sub
Sub calc()
Variables
Dim i As Integer
i = rng1.Find("Hello").Column
Sheet1.Cells(1, i).Value = "World"
End Sub
您在Sub内部进行了声明,因此无法在其他Sub中使用它们,因此这会给您带来错误。
这里的解决方案将它们放在您的过程的顶部。