Umwandlung 1Dim. Variant in 2Dim Array
08.07.2019 14:05:09
Peter
ich habe folgenden Eintrag hier gefunden:
https://www.herber.de/forum/archiv/1472to1476/1475838_Zeilen_in_Array_loeschen.html
und darin diesen Beispielcode:
Sub Test124()
Const adQBer$ = "A1:F30", tiQWb$ = "xyz", tiQWs$ = "xyz"
Dim iz As Long, zz As Long, arQDat, avZDat, _
qBer As Range, xZ As Range, wf As WorksheetFunction
Set wf = WorksheetFunction
Set qBer = Workbooks(tiWb).Sheets(tiWs).Range(adQBer)
' Set qBer = ActiveSheet.Range(adQBer)
zz = qBer.Rows.Count - wf.CountBlank(qBer.Columns(1))
ReDim arQDat(zz - 1)
For Each xZ In qBer.Rows
If Not IsEmpty(xZ.Cells(1)) Then _
arQDat(iz) = xZ: iz = iz + 1
Next xZ
avZDat = wf.Transpose(wf.Transpose(arQDat))
' ActiveWindow.RangeSelection.Resize(UBound(avZDat, 1), _
' UBound(avZDat, 2)) = avZDat
Set qBer = Nothing: Set wf = Nothing
arQDat = Empty: avZDat = Empty
End Sub
Ich habe dieses Beispiel ausprobiert.
Das einlesen funktioniert.
Aber beim Umwandeln avZDat = wf.Transpose(wf.Transpose(arQDat))
kommt die Fehlermeldung Laufzeitfehler 9
Wenn ich dann beim debugen hier drauf gehe:
arQDat(iz)
zeigt es Index außerhalb des gültigen Bereichs an und hier
If Not IsEmpty(xZ.Cells(1)) Then
bei xZ zeigt es an Objektvariable oder With-Blockvariable nicht festgelegt.
Hat mir bitte jemand eine Erklärung für die Fehlermeldung?
Vielen Dank schonmal im Voraus für eure Unterstützung
LG Peter