Spremenite velikost območja z uporabo VBA
Ta vadnica bo pokazala, kako uporabljati Spreminjanje velikosti lastnosti od Objekt obsega spremeniti, da se vrne nov obseg, spremenjen z velikostjo prvotnega predmeta Range.
Sintaksa
Sintaksa lastnosti Resize je:
1 | Obseg ("A1"). Spreminjanje velikosti (RowSize, ColumnSize) |
Kjer je doseg (“A1”) vaše izhodišče.
RowSize in ColumnSize morata biti večja od nič. Vsak vnos je neobvezen (npr. RowSize lahko izpustite, če želite spremeniti samo število stolpcev, ali obratno).
Spremeni velikost vrstic in stolpcev
Naslednji primer razširja obseg z eno celico A1 na obseg A1: D10 s povečanjem števila vrstic na 10 in števila stolpcev na 5.
1 | Razpon ("A1"). Spremenite velikost (10, 5). Izberite |
Ali pa pogosteje spremenite obseg spremenljivki:
12 | 'Spremenite velikost obsega na želeno velikost in jo dodelite spremenljivkiNastavi newRng = ActiveSheet.Range ("A1"). Spremeni velikost (10, 5) |
Spremeni velikost samo vrstic
Naslednji primer spreminja samo število vrstic:
12 | 'Spremeni samo velikost vrstice, nov obseg bo $ A $ 1: $ A $ 10Nastavi novoRng = rng.Resize (10) |
Spremeni velikost samo stolpcev
Naslednji primer spreminja samo število stolpcev:
12 | 'Spremeni samo velikost stolpca, nov obseg bo $ A $ 1: $ E $ 1Nastavi novoRng = rng.Resize (, 5) |
Spremenite velikost obsega tabele, da izključite glavo
Če imate na aktivnem listu tabelo z vrstico glave, bo koda najprej izbrala celotno tabelo, nato pa premaknila eno vrstico navzdol, da izključi glavo z metodo Range.Offset. Nato bo z lastnostjo Range.Resize velikost zmanjšala za eno vrstico.
1234567891011 | Sub SelectTableData ()'** POMEMBNO **'Pred zagonom makra kliknite katero koli celico tabele'Premaknite se za eno vrstico navzdol z uporabo zamika in nato zmanjšajte obseg za eno vrsticoNastavite tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)'Podatki so izbrani brez vrstice glavetbl. Naslov. IzberiteEnd Sub |
Napišite 2-D niz v obseg
Druga pogosta uporaba je pisanje dvodimenzionalne matrike na list. Ker se mora obseg, ki ga je treba zapisati, ujemati z velikostjo matrike, ki običajno ni znana vnaprej, se za nastavitev izhodnega območja uporabi metoda Resize
Spodnji primer bo prebral podatke v obsegu A1: E10 v aktivnem listu v matriko in zapisal matriko na list 'Output', začenši od celice A1:
123456 | Sub WriteArray ()'Preberite podatke v matrikidata = Range ("A1: E10"). Vrednost'Spremenite velikost izhodnega območja in napišite matrikoDelovni listi ("Izhod"). Razpon ("A1"). Spreminjanje velikosti (UBound (podatki, 1), UBound (podatki, 2)). Vrednost = podatkiEnd Sub |
Zapisala: Vinamra Chandra