Articles

VBA – Ganze Zeilen & Spalten markieren (und bearbeiten) – Excel automatisierenExcel automatisieren

In diesem Tutorial zeigen wir Ihnen, wie Sie ganze Zeilen oder Spalten in VBA markieren und bearbeiten können.

Zuerst behandeln wir das Markieren ganzer Zeilen und Spalten, dann zeigen wir, wie Sie Zeilen und Spalten manipulieren können.

Ganze Zeilen oder Spalten markieren

Eine einzelne Zeile markieren

Sie können eine ganze Zeile mit dem Rows-Objekt wie folgt markieren:

Rows(5).Select

Oder Sie können EntireRow zusammen mit den Range- oder Cells-Objekten verwenden:

Range("B5").EntireRow.Select

oder

Cells(5,1).EntireRow.Select

Sie können auch das Range-Objekt verwenden, um sich speziell auf eine Zeile zu beziehen:

Range("5:5").Select

Einzelne Spalte auswählen

Anstelle des Rows-Objekts können Sie auch das Columns-Objekt verwenden, um Spalten auszuwählen. Hier können Sie die Spaltennummer 3 referenzieren:

Columns(3).Select

oder den Buchstaben „C“, umgeben von Anführungszeichen:

Columns("C").Select

Anstelle von EntireRow verwenden Sie EntireColumn zusammen mit den Range- oder Cells-Objekten, um ganze Spalten zu markieren:

Range("C5").EntireColumn.Select

oder

Cells(5,3).EntireColumn.Select

Sie können auch das Range-Objekt verwenden, um sich speziell auf eine Spalte zu beziehen:

Range("B:B").Select

Mehrere Zeilen oder Spalten auswählen

Das Auswählen mehrerer Zeilen oder Spalten funktioniert genauso wie bei der Verwendung von EntireRow oder EntireColumn:

Range("B5:D10").EntireRow.Select

oder

Range("B5:B10").EntireColumn.Select

Bei der Verwendung der Objekte Rows oder Columns müssen Sie allerdings die Zeilennummern oder Spaltenbuchstaben in Anführungszeichen eingeben:

Rows("1:3").Select

oder

Columns("B:C").Select

ActiveCell Row oder Column auswählen

Um die ActiveCell Row oder Column auszuwählen, können Sie eine der folgenden Codezeilen verwenden:

ActiveCell.EntireRow.Select

oder

ActiveCell.EntireColumn.Select

Zeilen und Spalten auf anderen Arbeitsblättern auswählen

Um Zeilen oder Spalten auf anderen Arbeitsblättern auszuwählen, müssen Sie zunächst das Arbeitsblatt auswählen.

Sheets("Sheet2").SelectRows(3).Select

Das Gleiche gilt für die Auswahl von Zeilen oder Spalten in anderen Arbeitsmappen.

Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select

Hinweis: Sie müssen die gewünschte Arbeitsmappe aktivieren. Im Gegensatz zum Sheets-Objekt hat das Workbook-Objekt keine Select-Methode.

Ist die Auswahl von Zeilen und Spalten notwendig?

Es ist jedoch (fast?) nie notwendig, tatsächlich Zeilen oder Spalten auszuwählen. Sie müssen eine Zeile oder Spalte nicht markieren, um mit ihnen zu interagieren. Stattdessen können Sie Methoden oder Eigenschaften direkt auf die Zeilen oder Spalten anwenden. In den nächsten Abschnitten werden verschiedene Methoden und Eigenschaften vorgestellt, die angewendet werden können.

Sie können jede der oben aufgeführten Methoden verwenden, um sich auf Zeilen oder Spalten zu beziehen.

Methoden und Eigenschaften von Zeilen &Spalten

Ganze Zeilen oder Spalten löschen

Um Zeilen oder Spalten zu löschen, verwenden Sie die Methode Löschen:

Rows("1:4").Delete

oder:

Columns("A:D").Delete

Zeilen oder Spalten einfügen

Um Zeilen oder Spalten einzufügen, verwenden Sie die Methode Einfügen:

Rows("1:4").Insert

oder:

Columns("A:D").Insert

Kopieren &Einfügen ganzer Zeilen oder Spalten

Einfügen in vorhandene Zeile oder Spalte

Beim Kopieren und Einfügen ganzer Zeilen oder Spalten müssen Sie entscheiden, ob Sie über eine bestehende Zeile/Spalte einfügen wollen oder ob Sie eine neue Zeile/Spalte einfügen wollen, um Ihre Daten einzufügen.

Diese ersten Beispiele kopieren und fügen über eine bestehende Zeile oder Spalte ein:

Range("1:1").Copy Range("5:5")

oder

Range("C:C").Copy Range("E:E")

Einfügen & Einfügen

Diese nächsten Beispiele fügen in eine neu eingefügte Zeile oder Spalte ein.

So wird Zeile 1 kopiert und in Zeile 5 eingefügt, wobei die vorhandenen Zeilen nach unten verschoben werden:

Range("1:1").CopyRange("5:5").Insert

So wird Spalte C kopiert und in Spalte E eingefügt, wobei die vorhandenen Spalten nach rechts verschoben werden:

Range("C:C").CopyRange("E:E").Insert

Zeilen und Spalten ausblenden / einblenden

Um Zeilen oder Spalten auszublenden, setzen Sie deren Ausgeblendet-Eigenschaften auf True. Verwenden Sie False, um die Zeilen oder Spalten auszublenden:

'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False

oder

'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False

Zeilen und Spalten gruppieren / Gruppierung aufheben

Wenn Sie Zeilen (oder Spalten) gruppieren möchten, verwenden Sie Code wie diesen:

'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group

Um die Gruppierung aufzuheben, verwenden Sie diesen Code:

'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup

Damit werden alle „gruppierten“ Gliederungsebenen aufgeklappt:

ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8

und damit werden alle Gliederungsebenen zugeklappt:

ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1

Zeilenhöhe oder Spaltenbreite einstellen

Um die Spaltenbreite einzustellen, verwenden Sie diese Codezeile:

Columns("A:E").ColumnWidth = 30

Um die Zeilenhöhe einzustellen, verwenden Sie diese Codezeile:

Rows("1:1").RowHeight = 30

Zeilenhöhe / Spaltenbreite automatisch anpassen

Um eine Spalte automatisch anzupassen:

Columns("A:B").Autofit

Um eine Zeile automatisch anzupassen:

Rows("1:2").Autofit

Zeilen und Spalten auf anderen Arbeitsblättern oder Arbeitsmappen

Um mit Zeilen und Spalten auf anderen Arbeitsblättern zu interagieren, müssen Sie das Objekt Sheets definieren:

Sheets("Sheet2").Rows(3).Insert

Um mit Zeilen und Spalten in anderen Arbeitsmappen zu interagieren, müssen Sie ebenfalls das Workbook-Objekt definieren:

Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert

Aktive Zeile oder Spalte abfragen

Um die aktive Zeile oder Spalte abzufragen, können Sie die Row- und Column-Eigenschaften des ActiveCell-Objekts verwenden.

MsgBox ActiveCell.Row

oder

MsgBox ActiveCell.Column

Dies funktioniert auch mit dem Range Objekt:

MsgBox Range("B3").Column

Eine Antwort schreiben

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