Redimensionați intervalul utilizând VBA
Acest tutorial va arăta cum să utilizați Redimensionați proprietatea din Obiectul Range pentru a schimba pentru a returna un nou interval redimensionat de la obiectul Range original.
Sintaxă
Sintaxa pentru proprietatea Redimensionare este:
1 | Gama („A1”). Redimensionare (RowSize, ColumnSize) |
Unde Range („A1”) este domeniul dvs. de pornire.
RowSize și ColumnSize trebuie să fie mai mari decât zero. Fiecare intrare este opțională (de exemplu, puteți omite RowSize pentru a modifica doar numărul de coloane sau invers).
Redimensionați numărul de rânduri și coloane
Următorul exemplu extinde gama cu o celulă A1 la gama A1: D10 prin creșterea numărului de rânduri la 10 și a numărului de coloane la 5.
1 | Gama ("A1"). Redimensionare (10, 5). Selectați |
Sau, mai frecvent, veți atribui intervalul redimensionat unei variabile:
12 | 'Redimensionați intervalul la dimensiunea dorită și atribuiți-o unei variabileSetați newRng = ActiveSheet.Range ("A1"). Redimensionați (10, 5) |
Redimensionați numai numărul de rânduri
Următorul exemplu modifică numai numărul de rânduri:
12 | „Schimbați numai dimensiunea rândului, noua gamă va fi de $ A $ 1: $ A $ 10Setați newRng = rng.Resize (10) |
Redimensionați numai numărul de coloane
Următorul exemplu modifică numai numărul de coloane:
12 | „Schimbați numai dimensiunea coloanei, noua gamă va fi de $ A $ 1: $ E $ 1 $Setați newRng = rng.Resize (, 5) |
Redimensionați intervalul tabelului pentru a exclude antetul
Dacă aveți un tabel pe foaia activă cu un rând de antet, codul va selecta mai întâi întregul tabel, apoi se va deplasa în jos cu un rând pentru a exclude antetul folosind metoda Range.Offset. Apoi va utiliza proprietatea Range.Resize pentru a reduce dimensiunea cu un rând.
1234567891011 | Sub SelectTableData ()' **IMPORTANT**'Faceți clic pe orice celulă a tabelului înainte de a rula macro'Deplasați-vă un rând în jos folosind Offset și apoi reduceți dimensiunea intervalului cu un rândSet tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)„Datele sunt selectate, cu excepția rândului antettbl.Address.SelectSfârșitul Sub |
Scrieți matricea 2-D la interval
O altă utilizare obișnuită este de a scrie o matrice bidimensională pe o foaie. Deoarece intervalul care trebuie scris trebuie să se potrivească cu dimensiunea matricei, care în mod normal nu este cunoscut în prealabil, metoda Redimensionare este utilizată pentru a seta intervalul de ieșire
Exemplul de mai jos va citi datele din intervalul A1: E10 în foaia activă într-o matrice și va scrie matricea în foaia „Ieșire” începând de la celula A1:
123456 | Sub WriteArray ()„Citiți datele într-o matricedate = Interval ("A1: E10"). Valoare'Redimensionați intervalul de ieșire și scrieți matriceaFoi de lucru („Ieșire”). Interval („A1”). Redimensionare (UBound (date, 1), UBound (date, 2)). Valoare = dateSfârșitul Sub |
Scris de: Vinamra Chandra