Excel VBA Größenänderungsbereich

Bereichsgröße mit VBA ändern

Dieses Tutorial zeigt, wie Sie das Größe der Eigenschaft ändern des Bereichsobjekt zu ändern, um einen neuen Bereich zurückzugeben, dessen Größe vom ursprünglichen Range-Objekt geändert wurde.

Syntax

Die Syntax für die Resize-Eigenschaft lautet:

1 Range("A1").Resize (RowSize, ColumnSize)

Wobei Range("A1") Ihre Startreichweite ist.

RowSize und ColumnSize müssen größer als null sein. Jede Eingabe ist optional (Sie können beispielsweise RowSize weglassen, um nur die Anzahl der Spalten zu ändern, oder umgekehrt).

Anzahl der Zeilen und Spalten ändern

Das folgende Beispiel erweitert den Bereich um eine Zelle A1 auf den Bereich A1:D10, indem die Zeilenanzahl auf 10 und die Spaltenanzahl auf 5 erhöht wird.

1 Bereich("A1").Größe ändern(10, 5).Auswählen

Oder häufiger weisen Sie den Größenänderungsbereich einer Variablen zu:

12 ' Größenbereich auf die gewünschte Größe ändern und einer Variablen zuweisenSet newRng = ActiveSheet.Range("A1").Resize(10, 5)

Nur Zeilenanzahl ändern

Das folgende Beispiel ändert nur die Anzahl der Zeilen:

12 ' Nur Zeilengröße ändern, neuer Bereich ist $ A$1:$A$10Setze newRng = rng.Resize(10)

Nur Spaltenanzahl ändern

Das folgende Beispiel ändert nur die Anzahl der Spalten:

12 ' Nur Spaltengröße ändern, neuer Bereich ist $A$1:$E$1Setze newRng = rng.Resize(, 5)

Tabellenbereich skalieren, um Kopfzeilen auszuschließen

Wenn Sie eine Tabelle auf einem aktiven Blatt mit einer Kopfzeile haben, wählt der Code zuerst die gesamte Tabelle aus und bewegt sich dann eine Zeile nach unten, um die Kopfzeile mithilfe der Range.Offset-Methode auszuschließen. Anschließend wird die Range.Resize-Eigenschaft verwendet, um die Größe um eine Zeile zu reduzieren.

1234567891011 Unter SelectTableData()' **WICHTIG**' Klicken Sie auf eine beliebige Zelle der Tabelle, bevor Sie das Makro ausführen' Mit Offset eine Zeile nach unten bewegen und dann die Bereichsgröße um eine Zeile reduzierenSet tbl = ActiveCell.CurrentRegion.Offset(1, 0).Resize(tbl.Rows.Count - 1, _tbl.Columns.Count)' Daten sind ohne Kopfzeile ausgewählttbl.Address.SelectEnd Sub

2-D-Array in Bereich schreiben

Eine andere häufige Verwendung ist das Schreiben eines zweidimensionalen Arrays in ein Blatt. Da der zu schreibende Bereich der Größe des Arrays entsprechen sollte, die normalerweise nicht im Voraus bekannt ist, wird die Resize-Methode verwendet, um den Ausgabebereich einzustellen

Das folgende Beispiel liest die Daten im Bereich A1: E10 im aktiven Blatt in ein Array und schreibt das Array ab Zelle A1 in das Blatt "Ausgabe":

123456 Unter WriteArray()' Daten in ein Array lesenDaten = Bereich("A1:E10").Wert' Größe des Ausgabebereichs ändern und Array schreibenWorksheets("Ausgabe").Range("A1").Resize(UBound(Daten, 1), UBound(Daten, 2)).Wert = DatenEnd Sub

Geschrieben von: Vinamra Chandra

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave