Muuta alueen kokoa VBA: n avulla
Tämä opetusohjelma osoittaa, miten Muuta omaisuuden kokoa ja Alueobjekti vaihtaaksesi palauttaa uuden alueen, jonka kokoa on muutettu alkuperäisestä alueobjektista.
Syntaksi
Resize -ominaisuuden syntaksi on:
1 | Alue ("A1"). Muuta kokoa (RowSize, ColumnSize) |
Where Range ("A1") on lähtöalue.
RowSize ja ColumnSize on oltava suurempia kuin nolla. Jokainen syöte on valinnainen (esim. Voit jättää RowSize-arvon pois, jos haluat muuttaa vain sarakkeiden määrää, tai päinvastoin).
Muuta rivien ja sarakkeiden lukumäärää
Seuraava esimerkki laajentaa alueen yhdellä solulla A1 alueeseen A1: D10 lisäämällä rivien lukumäärän 10: een ja sarakkeiden määrän 5: ksi.
1 | Alue ("A1"). Muuta kokoa (10, 5) |
Tai yleensä annat muutetun alueen muuttujalle:
12 | 'Muuta alueen haluttu koko ja määritä muuttujaAseta newRng = ActiveSheet.Range ("A1"). Muuta kokoa (10, 5) |
Muuta vain rivien määrän kokoa
Seuraava esimerkki muuttaa vain rivien määrää:
12 | Muuta vain rivin kokoa, uusi alue on $ A $ 1: $ A $ 10Aseta newRng = rng.Koko (10) |
Muuta vain sarakkeiden lukumäärää
Seuraava esimerkki muuttaa vain sarakkeiden määrää:
12 | Muuta vain sarakkeen kokoa, uusi alue on $ A $ 1: $ E $ 1Aseta newRng = rng.Resize (, 5) |
Muuta taulukon alueen kokoa poistaaksesi otsikon
Jos sinulla on aktiivisella taulukolla taulukko, jossa on otsikkorivi, koodi valitsee ensin koko taulukon ja siirtää sen jälkeen yhden rivin alaspäin otsikon poistamiseksi Range.Offset -menetelmällä. Se käyttää sitten Range.Resize -ominaisuutta pienentämään kokoa yhdellä rivillä.
1234567891011 | Sub SelectTableData ()' **TÄRKEÄ**Napsauta mitä tahansa taulukon solua ennen makron suorittamista'Siirry yksi rivi alaspäin käyttämällä offsetia ja pienennä sitten alueen kokoa yhdellä rivilläAseta tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)'Tiedot valitaan otsikkoriviä lukuun ottamattatbl.Osoite.ValitseEnd Sub |
Kirjoita 2-D-sarja alueeseen
Toinen yleinen käyttötapa on kirjoittaa 2 -ulotteinen taulukko taulukkoon. Koska kirjoitettavan alueen on vastattava taulukon kokoa, jota ei yleensä tiedetä etukäteen, tulostusalueen asettamiseen käytetään Resize -menetelmää
Alla oleva esimerkki lukee alueen A1: E10 aktiivisen taulukon tiedot taulukkoon ja kirjoittaa taulukon Output -taulukkoon solusta A1 alkaen:
123456 | Sub WriteArray ()'Lue tiedot taulukkoondata = alue ("A1: E10"). Arvo'Muuta tulostusalueen kokoa ja kirjoita taulukkoLaskentataulukot ("Output"). Alue ("A1"). Muuta kokoa (UBound (data, 1), UBound (data, 2)). Arvo = dataEnd Sub |
Käsikirjoitus: Vinamra Chandra