Cells "ohne Kopfzeile"

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Kunibert2.

    Cells "ohne Kopfzeile"

    Hallo zusammen,

    ich möchte gerne eine Tabelle bis auf die oberen beiden Zeilen löschen.

    Versucht habe ichs mit

    Visual Basic-Quellcode

    1. With ActiveSheet.
    2. .Range("1:1","2:2").Copy
    3. .Cells.Delete
    4. .Range("A1").Paste
    5. End With

    Aber mit dem Makrorecorder habe ich herausgefunden, dass da anscheinend die Daten nicht mal in der Zwischenablage bleiben.

    Daher frage ich mich, ob ich bei der Auswahl vielleicht so einen Befehl wie Range(bla) ohne Range(blub) gibt.
    Umgekehrt gibt es ja den Union-Befehl und auch Intersect ist mir bekannt. Aber da bräuchte ich wohl mal einen Tip.

    Danke!
    So müsste es funktionieren:

    Visual Basic-Quellcode

    1. Range(Range("A3"), Range("A3").SpecialCells(xlLastCell)).EntireRow.Delete


    Wenn jedoch bereits alles bis auf die ersten beiden Zeilen gelöscht ist, würde dabei die zweite Zeile gelöscht. Das kann man aber so unterbinden:

    Visual Basic-Quellcode

    1. Dim letzteZelle As Range
    2. Set letzteZelle = Range("A3").SpecialCells(xlLastCell)
    3. If letzteZelle.Row > 2 Then
    4. Range(Range("A3"), letzteZelle).EntireRow.Delete
    5. End If


    Übrigens: Was ich bei Excel auch doof finde: :thumbdown: Wenn man einen Zellbereich kopiert und dann irgendeine Aktion durchführt (z. B. Zeilen löschen, Werte in Zellen schreiben) wird die Zwischenablage gelöscht.
    Hey super! Danke! Das ist echt eine elegenate Lösung!

    Ich habs ein bisschen verändert, weil ich den Range-Befehl nicht so mag und Cells bevorzuge:

    Visual Basic-Quellcode

    1. Dim rngLastCell As Range
    2. Set rngLastCell = Cells.SpecialCells(xlCellTypeLastCell)
    3. If rngLastCell.Row > 2 Then
    4. Range(Cells(3,1), rngLastCell).Delete
    5. End If

    Gibt es eigentlich Performance- oder Ressourcen-Unterschiede zwischen Cells und Range?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kunibert2“ ()