Microsoft Excel

Herbers Excel/VBA-Archiv

Verständnisproblem bei Objekt

Betrifft: Verständnisproblem bei Objekt von: Hans-Peter Müller
Geschrieben am: 13.08.2020 08:58:38

Hallo,

nachdem ich gelesen habe, dass man aus Geschwindigkeitsgründen SELECT-anweisungen vermeiden soll, wollte ich den Code verändern. Aber das funktioniert nicht.
Es geht um eine gefilterte Tabelle in der Spalten ausgeblendet sind. Der verbliebene Rest soll auf ein anderes Tabellenblatt ("Temp") kopiert werden.

Das funktioniert bisher anstandslos mit:
------------------------------------------------------
Sheets("Tabelle1").Select
ActiveSheet.Range("A1:Z" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Copy
Worksheets("Temp").Range("A1").PasteSpecial
-------------------------------------------------------

Ändere ich den Code auf:
-------------------------------------------------------
Worksheets("Tabelle1").Range("A1:Z" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Copy
Worksheets("Temp").Range("A1").PasteSpecial
-------------------------------------------------------
...wird nur die Überschrift aus Tabelle1 kopiert, die nachfolgenden Datenzeilen unter der Überschrift nicht?

Was mache ich falsch? Bzw. kann mir jemand erklären warum das so ist?

Betrifft: AW: Verständnisproblem bei Objekt
von: Nepumuk
Geschrieben am: 13.08.2020 09:05:19

Hallo Hans-Peter,

so:

With Worksheets("Tabelle1")
    .Range("A1:Z" & .UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Copy Worksheets("Temp").Range("A1")
End With

Gruß
Nepumuk

Betrifft: AW: Verständnisproblem bei Objekt
von: Daniel
Geschrieben am: 13.08.2020 09:54:04

Hi

Du musst die Anzahl der Zeilen dann auch im entsprechenden Tabellenblatt durchführen und nicht im zufälligerweise aktiven Tabellenblatt.
Sonst bekommst du ja eine falsche Anzahl:

Worksheets("Tabelle1").Range("A1:Z" & Worksheets("Tabelle1").UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Copy


Gruß Daniel