※ Этот вопрос является продолжением приведенной ниже проблемы
Как использовать вложенные цикл для ячейки Matrix в excel vba
Я хотел бы передать динамический массив (аргументы), и я пытался ниже, но он работает неправильно. Не могли бы вы мне помочь.
Dim StartrowArr, Startrow1Arr, J As Integer
Dim flRow, dtRow As String
Set filRng = Worksheets("Sheet1").Range("C1:C50")
Set dtlRng = Worksheets("Sheet1").Range("F1:F50")
For Each cell In filRng
If cell.Value <> "" Then
ftRow = ftRow & cell.Row & ","
End If
Next cell
ftRow = Left(ftRow, Len(ftRow) - 1)
Debug.Print ftRowNo
For Each cell In dtlRng
If cell.Value <> "" Then
dtRow = dtRow & cell.Row & ","
End If
Next cell
dtRow = Left(dtRow, Len(dtRow) - 1)
Debug.Print dtRow
StartrowArr = Array(filRowNo) ※ dynamic array args
Startrow1Arr = Array(dtlRowNo)
но после инициализации Array(args), как указано выше, он возвращает ошибку 1004 в [Startrow1, init with 0]. Я также пробовал использовать CInt(ftRow) для преобразования типов в Integer из String. ничего не изменилось.
Более того, журнал показывает, что Startrow, Startrow1 получили значения, как показано ниже.
Startrow: 2, 4, 7
Startrow1: 2611 ※ should be 2, 6, 11
Однако, если я инициализирую StartrowArr = Array(2,4,7) статически. он работает идеально.
Как правильно передать аргументы в StartrowArr и Startrow1Arr.