AW: VBA Bereich aus anderer Tabelle in Array
03.09.2021 17:00:05
Daniel
HI
das "ActiveWorkbook.Sheets(ZBlatt)." muss auch vor den beiden CELLS stehen!
gundsätzlich gilt, dass alle Zellbezüge (Range, Cells, Columns, Rows), ohne die Tabellenblattangabe davor immer auf das aktive Blatt referenzieren*
der Fehler kommt, wenn die Range auf einem anderen Blatt liegen soll, als die Cells, die die Range definieren.
dh korrekt wäre:
Groups = ActiveWorkbook.Sheets(ZBlatt).Range(ActiveWorkbook.Sheets(ZBlatt).Cells(3, 2), ActiveWorkbook.Sheets(ZBlatt).Cells(MaxRows, 3))
da das umständlich ist, definert man den Zellbereich besser so, mit hilfe von Resize.
Groups = ActiveWorkbook.Sheets(ZBlatt).Cells(3, 2).Resize(MaxRows - 3 + 1, 2).Value
Gruß Daniel
* dies gilt für Code in einem allgemeinen Modul.
Befindet sich der Code in einem Tabellenblattmodul, so referenzieren Zellbezüge ohne Tabellenblattangabe davor auf das Tabellenblatt des Moduls.