私はvbaスクリプトに慣れていないので、この簡単な割り当てステートメントでどこが間違っているのか分かりません。 ThisWorkBookで変数を初期化し、それらをシート1で使用しようとしました。なぜこの単純な代入文が動作しないのですか(vba)?
コード:
Public count1 As Integer
Public count2 As Integer
Public count3 As Integer
Public row13 As Integer
Public srow8 As Integer
Public erow8 As Integer
Private Sub Workbook_Open()
count1 = 18
count2 = 26
count3 = 26
Sheet1.setValues
Sheet1.getValues
End Sub
Sub setValues()
row13 = ThisWorkbook.count1
Debug.Print (row13)
srow8 = ThisWorkbook.count2
erow8 = ThisWorkbook.count3
End Sub
Sub getValues()
Debug.Print ("row13")
Debug.Print (row13)
Debug.Print ("srow8")
Debug.Print (srow8)
Debug.Print ("erow8")
Debug.Print (srow8)
End Sub
(すべての変数はグローバルです) 私は、これらの値を印刷しようとすると印刷された値がありません。 どこが間違っていたのですか? これで私を助けることができれば、大きな助けになるでしょう。 ありがとうございます。 :)
'' Row13'、 'srow8'と' erow8'はあなたの 'ThisWorkbook'コードであると仮定してモジュールレベルとして宣言されていますが、あなたは' Sheet1'コードでモジュールの外側でそれらを使用しようとしています。 – YowE3K
はい、あなたはThisWorkbookコードの外にあることは間違いありませんが、変数がpublicなので、sheet1からもこれを使用できないはずですか? – Devanshi