Wie verwende ich die usedrange-eigenschaft in vba?

In VBA stellt die UsedRange-Eigenschaft den Bereich eines Arbeitsblatts dar, das Daten enthält. Der verwendete Bereich reicht von der ersten Zelle im Arbeitsblatt, in der Sie einen Wert haben, bis zur letzten Zelle, in der Sie einen Wert haben. Genau wie im folgenden Beispiel, in dem Sie den Bereich von A1 bis C11 verwendet haben.

Bereichseigenschaft verwendet

Hinweis: Die UsedRange-Eigenschaft ist eine schreibgeschützte Eigenschaft .

Schreiben Sie Code mit UsedRange

Verwenden Sie den folgenden Code.

  1. Zuerst müssen Sie die Tabelle angeben.
  2. Geben Sie dann einen Punkt (.) ein und geben Sie „UsedRange“ ein.
  3. Verwenden Sie anschließend die Eigenschaft oder Methode, die Sie verwenden möchten.
  4. Führen Sie am Ende den Code aus.
 Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub

Der obige Code löscht alles aus dem verwendeten Bereich des aktiven Blatts.

Kopieren Sie den verwendeten Bereich

Verwenden Sie den folgenden Code, um den gesamten UsedRange zu kopieren.

Kopieren Sie den gesamten verwendeten Bereich
 Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub

Zählen Sie Zeilen und Spalten im verwendeten Bereich

Es gibt eine count-Eigenschaft, mit der Sie die Zeilen und Spalten des verwendeten Bereichs zählen können.

 MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count

Die beiden Codezeilen oben zeigen ein Meldungsfeld mit der Anzahl der Zeilen und Spalten an, die Sie im verwendeten Bereich haben.

Aktivieren Sie die letzte Zelle im verwendeten Bereich

Sie können auch die letzte Zelle im verwendeten Bereich aktivieren (dies wäre die letzte im Arbeitsblatt verwendete Zelle). Betrachten Sie den folgenden Code.

letzte aktive Zelle des verwendeten Bereichs
 Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub

Dieser Code ermittelt mithilfe der UsedRange-Eigenschaft die Anzahl der Zeilen und Spalten und verwendet diese Zahlen dann, um die letzte Zelle im verwendeten Bereich auszuwählen.

Siehe UsedRange in einem anderen Arbeitsblatt

Wenn Sie versuchen, auf den Bereich zu verweisen, der in einem anderen Arbeitsblatt als dem aktiven Blatt verwendet wird, zeigt VBA einen Fehler wie diesen an.

Bereich, der in einem anderen Arbeitsblatt verwendet wird

Daher muss das Arbeitsblatt, auf das Sie sich beziehen, aktiviert sein (nur dann können Sie die UsedRange-Eigenschaft verwenden).

 Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub

Dies bedeutet, dass Sie nicht auf den in einer geschlossenen Arbeitsmappe verwendeten Bereich verweisen können. Sie können jedoch zuerst eine Arbeitsmappe öffnen und dann das Arbeitsblatt für die Verwendung der UsedRange-Eigenschaft aktivieren.

Rufen Sie die Adresse des verwendeten Bereichs ab

Verwenden Sie die folgende Codezeile, um die Adresse des verwendeten Bereichs abzurufen.

 Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub

Zählt leere Zellen im genutzten Bereich

Der folgende Code verwendet FOR-Schleifen (For Each) und durchläuft alle Zellen im verwendeten Bereich und zählt leere Zellen.

 Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub

Wenn Sie diesen Code ausführen, wird ein Meldungsfeld mit der Gesamtzahl der Zellen und der Anzahl der leeren Zellen angezeigt.

Einen Kommentar hinzufügen

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