VBA in Excel - Letzte beschriebene Zeile selektieren

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Ako86.

    VBA in Excel - Letzte beschriebene Zeile selektieren

    Hallo zusammen,

    kämpfe mich langsam ducrh meine Excel-Datei, bin aber jetz wieder hängen geblieben und komme einfach nicht weiter. Folgendes Problem bzw. Situation:

    Ich möchte aus einem Sheet XY die letzte beschriebene Zeile herausfiltern bzw. die erste leere Zeile. Dazu nutze ich derzeit folgenden Code:



    For i = Cells(Rows.Count, 3).End(xlUp).Row + 1 To 1 Step -1
    Exit For


    Next i



    Count 3 - weil ich dort immer die letzte beschriebene Zelle habe. Das funktioniert auch soweit ganz gut (findet die richtige Zelle), nur wenn ich jetzt die Zeilen von 4 bis i selektoieren bzw. kopieren möchte, funktioniert es nicht. Mein selektierter Bereich ist viel zu Groß - geht bis Zeile 500 oder so. Nutze folgenden Code:



    Rows("4:4" & i).Select --> markiert Zeile 4 bis 500

    Rows(i).Select --> markiert Zeile 98 (die richtige Zeile)



    Also ich möchte demnach die Zeilen 4 - 98 selektiert bekommen.

    Vielen Dank schonmal im Voraus

    Grüße

    Andi

    Ako86 schrieb:

    Rows("4:4" & i).Select --> markiert Zeile 4 bis 500
    Wenn du das in Rows("4:" & i).Select umänderst, müsste es funktionieren.
    Wenn i 98 ist, ist dein Ausdruck Rows("4:4" & 98) => Rows("4:498")

    Wieso eigentlich For ... Next? Hiermit kommt auch das richtige Ergebnis (Habs probiert):

    Visual Basic-Quellcode

    1. i = Cells(Rows.Count, 3).End(xlUp).Row


    Hier noch ein Beispiel, wenn man es nicht an einer Spalte festmachen will (bei dir Spalte C), sondern die letzte Zeile, in der überhaupt etwas steht, herausfinden will:

    Visual Basic-Quellcode

    1. x = ActiveCell.SpecialCells(xlLastCell).Row

    Statt ActiveCell kann auch irgendein anderer Verweis auf eine Zelle stehen, es kommt trotzdem das gleiche Ergebnis, denn SpecialCells(xlLastCell) ist, wie wenn man vom Zellverweis aus Strg+Ende auf der Tastatur drückt.