나는 실수가 무엇인지 알아 내려고 노력하고 이미 구글에 두 시간을 보냈다.
변수, 배열 및 4 개의 숫자가 포함 된 배열 (ArrayTestPrime)을 만들었습니다. 나는 그것을 모든 "Subs"위에 선언 했으므로 전체 모듈에서 볼 수 있어야합니다.
첫 번째 절차에서 배열 (ArrayTestPrime)의 element (0) 값을 변경하고 인쇄하고 싶습니다. 그런 다음 Procedure_2 print를 호출 한 다음 sheet (1)에서 row1의 루프를 통해 다시 변경하십시오.
디버그 print 나에게 이것을 보여줍니다 :
First_Procedure =
At the beginning of Second_Procedure =
Variable must be equal = 17
At the end of Second_Procedure =
그러나 실제 값은 다음과 같아야합니다.
First_Procedure = 100
At the beginning of Second_Procedure = 100
Variable must be equal = 17
At the end of Second_Procedure = 17
내 뇌를 치는 내 코드 :
Public Article As String
Public ArticleCol As Variant
Public ArrayTestPrime As Variant
Public ArrayInArray() As Variant
Sub First_Procedure()
Article = "ARTICLE"
ArrayTestPrime = Array(ArticleCol, ArrayInArray(), 1, 2, 2, 1)
ArticleCol = 100
Debug.Print "First_Procedure = " & ArrayTestPrime(0)
Call Second_Procedure
End Sub
Sub Second_Procedure()
Dim Sub_J As Integer
Debug.Print "At the beginning of Second_Procedure = " & ArrayTestPrime(0)
For Sub_J = 1 To 27
If Cells(1, Sub_J) = Article Then ArticleCol = Sub_J
Next Sub_J
Debug.Print "Variable must be equal = " & ArticleCol
Debug.Print "At the end of Second_Procedure = " & ArrayTestPrime(0)
End Sub
도와주세요! 나는 어떤 종류의 도움을 주셔서 감사합니다!