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