Ich habe die unten snippit für Excel 2013 VBAExcel VBA Listrow zu Array
For Each r In rr
If Not r.Range.Height = 0 Then
FNum = FNum + 1
ReDim Preserve testArr(1 To FNum, 1 To 23)
testArr(FNum) = r
End If
Next r
Mein Ziel ist es, alle sichtbaren Zeilen aus einer gefilterten Tabelle in ein Array zu erhalten.
Die Tabelle kann eine beliebige Anzahl von Zeilen, aber immer 23 Spalten enthalten.
Ich fand, dass die Höhe Null ist, wenn es ausgeblendet ist. Aber für das Leben von mir kann ich nicht herausfinden, wie man die ganze Reihe in die Reihe bringt.
r = listrow rr = ListRows
JA, ich weiß, ein Looping ReDim saugt.
Special (xlCellTypeVisible)
nicht funktioniert, weil es entweder stoppt beim ersten ausgeblendete Zeile/Spalte.
Ich kann nur die gesamte Tabelle in das Array ausgeben und dann das Array filtern. Ich habe nicht herausgefunden, wie man den aktiven Filter vom Tisch zieht, um ihn anzuwenden, aber ich habe noch nicht tief in das Thema hineingeschaut. Das werde ich jetzt tun, weil ich für den anderen Weg feststecke.
Alle und alle Ratschläge sind willkommen.
DM
Was ist rr? Ich glaube nicht, dass Ihr Code trotzdem wie gewünscht funktionieren kann, da Redim Preserve nur die letzte Dimension verändert. – SJR
Wie groß ist dein Tisch? –