Я пытаюсь выяснить, где ошибка, уже потратил два часа, чтобы погуглить это :(
Я создал массив (ArrayTestPrime) с элементами внутри него: переменная, массив и 4 числа. Я объявил это прежде всего "Subs", поэтому это должно быть видно во всем модуле.
Я просто хочу изменить значение элемента (0) в массиве (ArrayTestPrime) в первой процедуре, распечатать его. Затем вызовите Процедуру_2, напечатайте ее, затем пройдите цикл в строке 1 на листах (1) и измените его снова.
Debug. печать показывает мне это:
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
Пожалуйста, помогите мне! Я буду признателен за любую помощь!