Excel-VBA。私は後でいくつかのサブシステムで使用する変数を作成したいと思います。この上の他の質問に続いて、私は私が同じサブでテストしようとした場合、サブVBA:他のサブシステムにパブリック変数を使用する
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
を使用して変数に値を与えることを進め、その後、変数公に
Public Counter As Integer
を宣言した値の数例えば
sh1.range("B1").value = counter
私は正しい番号を取得します。
しかし、いったん別のサブで呼び出すと、値は0になります。
Sub Test()
Range("F1").Value = counter
end sub
私のテストサブのCountサブアドレスを呼び出すことも試みましたが、結果もありませんでした。
アイデア?ありがとう!
私はいつも「過度の」approcahを使用しています。専用モジュール(私は_Global_Var_と呼んでいます)を追加するだけで、すべてのグローバル変数が宣言されます。あなたの例では、グローバルカウンタは整数です。 –
ここに含まれているコードの部分に明白なエラーはないので、問題はあなたがやっていることの他の部分にあります。しかし、私はCounterが他の場所ではなく、ある場所で大文字にされていることに気付きました。あなたが間違ってコピーしたか、コード表示パーサが異なる変数だと思っています。 – david