получить массив на новый лист? - PullRequest
0 голосов
/ 17 января 2020

У меня есть функция, которая загружает определенные данные из динамической таблицы 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
Это локальный вывод при переходе к последней строке кода (rng.value = arr)

enter image description here И это то, что появляется в моей рабочей таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...