Spalten zählen in VBA

Iqra Hasnain 30 Januar 2023
  1. Spalten zählen in VBA
  2. Zählen Sie die Spalte im Bereich in VBA
  3. Verwendung von die Range().End-Methode in VBA
  4. Verwendung von die Methode Cells.Find() in VBA
Spalten zählen in VBA

In diesem Artikel werden zwei Möglichkeiten zum einfachen Zählen von Spalten mit Daten mithilfe von VBA in Excel erläutert.

Spalten zählen in VBA

Wenn wir eine kleine Datentabelle mit wenigen Spalten haben, können wir sie leicht zählen, aber für eine große Datentabelle ist es ziemlich schwierig, alle Spalten fehlerfrei zu zählen. Außerdem können einige Spalten Daten enthalten, während einige Spalten vollständig leer sein können.

Daher ist das Zählen aller Spalten mit Daten im Falle einer großen Datentabelle ziemlich schwierig. Lassen Sie uns nun ein Blatt mit einigen Beispieldaten erstellen, mit denen wir arbeiten können.

Erstellen eines Blatts zum Zählen von Spalten in VBA

Wir können die drei Spalten in der folgenden Datentabelle sehen. Um die Anzahl der verwendeten Spalten in einem einzelnen Excel-Arbeitsblatt zu steuern, verwenden wir VBA-Codes.

Zuerst öffnen wir den VBA-Editor, indem wir die Taste ALT + F11 drücken. Erstellen Sie danach ein neues Modul aus Einfügen > Modul.

Erstellen eines neuen Makros zum Zählen von Spalten in VBA

Erstellen Sie dann ein neues Sub, usedColumns(). In unserem neuen Sub verwenden wir eine with-Schleife, um den verwendeten Bereich mit der Methode UsedRange abzurufen.

Danach verwenden wir die Zählmethode von columns, um die Anzahl der verwendeten Spalten auszugeben.

Beispielcode:

# VBA
Sub usedColumns()
With Sheet1.UsedRange
MsgBox "The Used Columns are: "& .Columns.Count
End With
End Sub

Speichern Sie das Makro und führen Sie es aus, indem Sie F5 drücken oder auf Ausführen klicken. Das Dialogfenster Macro erscheint wie unten gezeigt.

Ausgabe:

Spalten in VBA mit With-Schleife zählen

Zählen Sie die Spalte im Bereich in VBA

Der folgende VBA-Code zählt alle Spalten mit Daten in einem bestimmten Bereich.

Erstellen wir ein neues Unterobjekt ColumnsInRange(). In diesem Sub verwenden wir die Bereichsfunktion, um die Anzahl der Spalten in diesem Bereich auszuwählen und zu zählen.

Beispielcode:

# VBA
Sub ColumnsInRange()
Dim newRange As Worksheet
Set newRange = Worksheets("Sheet1")
MsgBox "The Used Columns are: " & newRange.Range("A15:D15").Columns.Count
End Sub

Ausgabe:

zählt alle Spalten mit Daten in einem bestimmten Bereich

Verwendung von die Range().End-Methode in VBA

Wir können die Methode Range().End verwenden, um die letzte Spalte zu erhalten, die in diesem Bereich verwendet wird.

Erstellen Sie ein neues Sub, findLastColumn(), und innerhalb dieses Subs verwenden wir die End-Range-Methode, um die letzte Spalte zu finden, die auf der rechten Seite des Blatts verwendet wird.

# VBA

Sub findLastColumn()
Dim newRange As Integer
newRange = Range("A2").End(xlToRight).Column
MsgBox newRange
End Sub

Ausgabe:

Zählen Sie die Spalten in VBA, wobei die letzte Spalte rechts vom Blatt verwendet wird, indem Sie die End-Methode verwenden

Wir erhalten die letzte Spaltennummer in einem Popup-Dialogfeld, wie im Bild oben gezeigt.

Verwendung von die Methode Cells.Find() in VBA

Wir können auch die Methode Range.Find verwenden, um die zuletzt verwendete Spalte aus dem Blatt mit dem VBA-Code zu erhalten.

Überprüfen Sie den folgenden Code. Im Sub LastColumnByFind() verwenden wir die Methode Cells.Find(), um die zuletzt verwendete Spalte zu finden.

Beispielcode:

# VBA
Sub LastColumnByFind()
Dim newRange As Long
    newRange = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Column
    MsgBox "Last Used Column Number by Find Method: " & newRange
End Sub

Ausgabe:

Zählen Sie Spalten in VBA mithilfe der Find-Methode

Verwandter Artikel - VBA Column