Spalten zählen in VBA
- Spalten zählen in VBA
- Zählen Sie die Spalte im Bereich in VBA
-
Verwendung von die
Range().End
-Methode in VBA -
Verwendung von die Methode
Cells.Find()
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.
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 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:
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:
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:
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: