Excel-VBA。我想创建一个变量,稍后我会在其他几个子目录中使用它。继这个其他的问题,我声明的变量公开VBA:对其他潜水艇使用公共变量
Public Counter As Integer
然后,我继续使用子
Sub Count()
Set sh2= ActiveWorkbook.Sheets("Sheet2")
Set sh1 = ActiveWorkbook.Sheets("Sheet1")
Dim rng As Range
Dim trng As Range
Set trng = sh2.Range("A4:HV4")
For Each rng In trng
If rng.Value = "Name" Then
Counter = Range(rng, rng.End(xlToLeft)).Columns.count
End If
Next rng
如果我尝试测试在同一子给予价值的变量,值数有例如
sh1.range("B1").value = counter
我得到正确的数字。
但是,一旦我尝试在另一个子上调用它,值为0!
Sub Test()
Range("F1").Value = counter
end sub
我也试过在我的测试子上调用Count子,但也没有结果。
任何想法?谢谢!
我总是使用“overkill”approcah,我只是添加一个专用模块(我称之为_Global_Var_),并且在那里我声明了所有的全局变量。在你的示例'Global Counter As Integer'中。 –
这里包含的代码部分没有明显的错误,所以问题出在你正在做的其他部分。但我注意到Counter是在一个地方大写的,而不是在其他地方:要么复制不正确,要么代码显示解析器认为它们是不同的变量。 – david