Zeilen in Range schreiben und anschließend löschen

  • Excel

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

    Zeilen in Range schreiben und anschließend löschen

    Hi,

    ich möchte in meiner Excel Tabelle ein paar Zeilen ausblenden.
    Jetzt kann ich natürlich in meiner Schleife die Bedingung abfragen und beim Zutreffen die Zeile Ausblenden. Das ist aber leider ziemlich langsam.

    Schöner wäre natürlich, die betreffenden Zeilen zu sammeln (in einer Range, oder einem Array) und diese dann anschließend auf einen Schlag zu löschen. Ich bin nur leider gerade vollkommen hilflos was das erweitern einer Range um bestimmte Zeilen angeht.

    Bitte helft mir auf die Sprünge!

    Gruß Tommel

    Tommel schrieb:

    ich möchte in meiner Excel Tabelle ein paar Zeilen ausblenden.

    Tommel schrieb:

    und diese dann anschließend auf einen Schlag zu löschen.
    Was jetzt? Ausblenden oder löschen?

    Mehrere Zeilen kriegst du in einen Range, indem du sie aneineanderreihst:

    Visual Basic-Quellcode

    1. Set RangeToDelete = Range("2:2,5:5,7:9,11:11")
    2. RangeToDelete.Delete Shift:=xlUp
    3. 'oder auch
    4. Range("3:3,6:8,10:10").EntireRow.Hidden = True
    5. 'oder aus einzelnen Zellen
    6. Range("C5,A7,Z22").EntireRow.Delete xlUp
    Such dir raus, was für dich zutrifft.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hi,

    das ist richtig. Ausblenden reicht mir.

    Die frage, wie ich das aneinanderreihe ist allerdings, wie ich die Range nachträglich um weitere Bereiche erweitern kann.

    Das "Set" war das was ich immer vergessen habe und was mich in den Wahnsinn getrieben hat.

    Visual Basic-Quellcode

    1. Sub test()
    2. Dim Range1 As Range
    3. Dim Range2 As Range
    4. Dim Rangesammler As Range
    5. Set Range1 = Cells(25, 1).EntireRow
    6. Set Range2 = Cells(26, 1).EntireRow
    7. Set Rangesammler = Range1
    8. Set Rangesammler = Union(Rangesammler, Range2)
    9. Rangesammler.EntireRow.Hidden = True
    10. End Sub


    Danke für die Antwort
    Gruß