Gefüllte Zellen markieren mit und ohne Lücken in Excel VBA

In diesem Tutorial zeige ich Euch mehrere Möglichkeiten Zellen mit Daten zu markieren. Ich zeige ich 3 Varianten. Einmal wie man alle benutzte Zellen in der Tabelle markieren kann. Im anderen Beispiel geht es um zusammenhängende Bereiche ohne Lücken. Und zum Schluss noch eine Version wo alle Zellen markiert werden auch wenn Lücken vorhanden sind.

Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier

Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier



Achtung:

Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.

Video zu diesem Tutorial:

 

Beispielscript: Benutzte Zellen markieren in Excel VBA

Im nachfolgenden Script werden alle Zellen markiert die in der Excel Tabelle bisher benutzt wurden. Der Vorteil hierbei ist, dass man sich nicht auf eine bestimmte Zeile oder Spalte beziehen muss um dort die letzte gefüllte Zeile oder Spalte auslesen zu müssen. Der ausgewählte Bereich ist der größte von denen die ich hier auf der Seite präsentiere. Benutzt wird hier UsedRange. Hiermit lässt sich über UsedRange.Rows.Count die letzte (unterste) Zeile oder mit UsedRange.Columns.Count die letzte (rechteste) Spalte ausgeben. Über ActiveSheet greife ich auf das aktive Tabellenblatt zu.

Es erfolgt in allen 3 Scripten eine Ausgabe der Zeilennummer in E7 und der Spaltennummer in E9.
Die Variablen ZeilenEnde und SpaltenEnde kann man dann natürlich auch für den weiteren Programmcode nutzen.

Beispielscript: Gefüllte Zellen ohne Lücken markieren in Excel VBA

In diesem Beispiel benutze ich Cells um von einer Anfangsposition aus zu starten. In diesem Fall Cells(1,1) das bedeutet dass wir in Zelle A1 beginnen.
Cells(ZeilenNummer, SpaltenNummer)
Von A1 aus benutzen wir eine Möglichkeit wie mit STRG + Pfeil nach unten. Mit End(xlDown) springen wir zur untersten Zeile die mit Daten gefüllt ist. Aber nur in einem durchgängig beschriebenen Zell – Bereich ohne Lücken. Vor jeder Lücke oder besser gesagt leeren Zelle wird gestoppt.
Das gleiche betrifft auch die Spalte. Ebenfalls von A1 aus also Cells(1,1) gehen wir mit End(xlToRight) (STRG + Pfeil nach rechts) an die letzte Spalte die Daten enthält. Auch hier wird vor der ersten leeren Zelle gestoppt.

In dem Beispiel werden keine Zellen markiert die in der ausgewählten Startzeile oder Spalte Lücken enthält. Nur zusammenhängende Bereiche werden markiert.

Beispielscript: Gefüllte Zellen mit Lücken markieren in Excel VBA

Das letzte Beispielscript ist im Grunde genauso aufgebaut wie das letzte. Allerdings gehen wir hier nicht mit Cells(1,1) von Zelle A1 aus sondern vom Ende. Mit Rows.Count erhalten wir die letzte Zelle die in der Tabelle überhaupt vorhanden ist. Von dort aus gehen wir dann mit End(xlUp) genau wie mit STRG + Pfeiltaste nach oben, zur ersten Zelle die Daten enthält. Dabei spielt es keine Rolle ob darüber Lücken (leere Zellen) vorhanden sind.
Das gleiche mit der Spalte. Mit Collumns.Count erhalten wir die letzte Spalte die in der Tabelle vorhanden ist. Von hieraus gehen wir dann mit End(xlToLeft) zur ersten beschriebenen Zelle. Also zu der Zelle die am weitesten rechts ist und gefüllt ist.

Wichtig ist aber natürlich dass sich das immer auf die Zeile oder Spalte bezieht die Ihr als Ausgangsbasis benutzt habt. In diesem Fall ist es Spalte 1 und Zeile 1. Ihr müsst also schauen wo Eure Daten sind die Ihr benötigt und die entsprechende Zeile oder Spalte nutzen.

 


Das könnte Dich auch interessieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.