У меня есть функция, которая загружает определенные данные из динамической таблицы c в массив. Функция работает нормально, когда я проверяю локальное окно, я получаю правильные данные. Кроме того, когда я вызываю данные из подпрограммы, кажется, что все работает нормально, пока я не записываю массив на новый лист, тогда я только несколько раз получаю первую запись. Это мой код:
Function LoadData() As String()
Dim rng2 As Range, intJaNein As Integer, rngZelle As Range, X As Integer, cntAnzahl As Integer
Dim strAusgabe() As String 'R?ckgabe Array
intJaNein = 1
X = 0
Set rng2 = Range("tblMaschinen[DisplayList]")
cntAnzahl = WorksheetFunction.CountIfs(rng, m_intListIndex, rng2, intJaNein)
ReDim strAusgabe(cntAnzahl)
For Each rngZelle In rng2.Cells
If rngZelle.Offset(, -2).value = 0 And _
rngZelle.value = 1 And _
X <= cntAnzahl Then
strAusgabe(X) = rngZelle.Offset(, -1).value
X = X + 1
End If
Next rngZelle
LoadData = strAusgabe
End Function
Sub Test()
Dim sht As Worksheet, rng As Range, arr() As String
If ThisWorkbook.Worksheets("Loeschen") Is Nothing Then
Set sht = ActiveWorkbook.Worksheets.Add
sht.Name = "Loeschen"
End If
Set rng = Range("A1:A19")
arr = cls.LoadData
rng.value = arr
End Sub
![enter image description here](https://i.stack.imgur.com/ArVOX.png)
Это локальный вывод при переходе к последней строке кода (rng.value = arr)
И это то, что появляется в моей рабочей таблице.