Intervallo di ridimensionamento VBA di Excel

Ridimensiona l'intervallo usando VBA

Questo tutorial dimostrerà come usare il Ridimensiona proprietà del Oggetto intervallo da modificare per restituire un nuovo intervallo ridimensionato dall'oggetto Range originale.

Sintassi

La sintassi per la proprietà Resize è:

1 Intervallo ("A1"). Ridimensiona (dimensione riga, dimensione colonna)

Dove Range ("A1") è il tuo intervallo iniziale.

RowSize e ColumnSize devono essere maggiori di zero. Ogni input è facoltativo (ad es. puoi omettere RowSize per modificare solo il numero di colonne o viceversa).

Ridimensiona il numero di righe e colonne

L'esempio seguente espande l'intervallo con una cella A1 nell'intervallo A1: D10 aumentando il conteggio delle righe a 10 e il conteggio delle colonne a 5.

1 Intervallo ("A1"). Ridimensiona (10, 5). Seleziona

Oppure, più comunemente, assegnerai l'intervallo ridimensionato a una variabile:

12 ' Ridimensiona l'intervallo alla dimensione desiderata e assegna a una variabileImposta newRng = ActiveSheet.Range ("A1"). Ridimensiona (10, 5)

Ridimensiona solo il numero di righe

L'esempio seguente modifica solo il numero di righe:

12 ' Cambia solo la dimensione della riga, il nuovo intervallo sarà $A$1:$A$10Imposta newRng = rng.Resize(10)

Ridimensiona solo il numero di colonne

L'esempio seguente modifica solo il numero di colonne:

12 ' Cambia solo la dimensione della colonna, il nuovo intervallo sarà $ A $ 1: $ E $ 1Imposta newRng = rng.Resize(, 5)

Ridimensiona l'intervallo della tabella per escludere l'intestazione

Se hai una tabella sul foglio attivo con una riga di intestazione, il codice selezionerà prima l'intera tabella, quindi si sposterà verso il basso di una riga per escludere l'intestazione utilizzando il metodo Range.Offset. Utilizzerà quindi la proprietà Range.Resize per ridurre le dimensioni di una riga.

1234567891011 Sub SelectTableData()' **IMPORTANTE**'Fai clic su una qualsiasi cella della tabella prima di eseguire la macro' Sposta in basso di una riga utilizzando Offset e quindi riduci la dimensione dell'intervallo di una rigaImposta tbl = ActiveCell.CurrentRegion.Offset(1, 0).Resize(tbl.Rows.Count - 1, _tbl.Columns.Count)'I dati sono selezionati escludendo la riga di intestazionetbl.Address.SelectFine sottotitolo

Scrivi array 2-D nell'intervallo

Un altro uso comune è scrivere un array bidimensionale su un foglio. Poiché l'intervallo da scrivere dovrebbe corrispondere alla dimensione dell'array, che normalmente non è nota in anticipo, viene utilizzato il metodo Resize per impostare l'intervallo di output

L'esempio seguente leggerà i dati nell'intervallo A1: E10 nel foglio attivo in un array e scriverà l'array nel foglio "Output" a partire dalla cella A1:

123456 Sub WriteArray()'Leggi i dati in un arraydati = Intervallo ("A1: E10"). Valore' Ridimensiona l'intervallo di output e scrivi l'arrayFogli di lavoro ("Output"). Intervallo ("A1"). Ridimensiona (UBound (dati, 1), UBound (dati, 2)). Valore = datiFine sottotitolo

Scritto da: Vinamra Chandra

wave wave wave wave wave