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