Změňte velikost rozsahu pomocí VBA
Tento tutoriál předvede, jak používat Změnit velikost majetku z Objekt rozsahu změnit, aby se vrátil nový rozsah změněný z původního objektu Range.
Syntax
Syntaxe vlastnosti Resize je:
1 | Rozsah („A1“). Změnit velikost (velikost řádku, velikost sloupce) |
Kde Rozsah („A1“) je váš počáteční rozsah.
Velikost řádku a velikost sloupce musí být větší než nula. Každý vstup je volitelný (např. Můžete vynechat RowSize, abyste změnili pouze počet sloupců, nebo naopak).
Změňte velikost počtu řádků a sloupců
Následující příklad rozšiřuje rozsah o jednu buňku A1 na rozsah A1: D10 zvýšením počtu řádků na 10 a počtu sloupců na 5.
1 | Rozsah („A1“). Změnit velikost (10, 5). Vyberte |
Nebo běžněji přiřadíte proměnné rozsah změny velikosti:
12 | 'Změňte velikost rozsahu na požadovanou velikost a přiřaďte proměnnéNastavit newRng = ActiveSheet.Range ("A1"). Změnit velikost (10, 5) |
Změnit velikost pouze u řádků
Následující příklad změní pouze počet řádků:
12 | „Změňte pouze velikost řádku, nový rozsah bude $ A $ 1: $ A $ 10Nastavit newRng = rng.Resize (10) |
Změnit velikost pouze u sloupců
Následující příklad změní pouze počet sloupců:
12 | „Změnit pouze velikost sloupce, nový rozsah bude $ A $ 1: $ E $ 1Nastavit newRng = rng.Resize (, 5) |
Změnou velikosti rozsahu tabulky vyloučíte záhlaví
Pokud máte tabulku na aktivním listu s řádkem záhlaví, kód nejprve vybere celou tabulku a poté se přesune o jeden řádek dolů, aby pomocí metody Range.Offset vyloučil záhlaví. Potom použije vlastnost Range.Resize ke zmenšení velikosti o jeden řádek.
1234567891011 | Sub SelectTableData ()' **DŮLEŽITÉ**'Před spuštěním makra klikněte na libovolnou buňku tabulky'Posuňte se o jeden řádek dolů pomocí Offsetu a poté zmenšete velikost rozsahu o jeden řádekNastavit tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)'Data jsou vybrána bez řádku záhlaví.'tbl.Address.SelectEnd Sub |
Zapište 2-D pole na dosah
Dalším běžným použitím je zápis 2rozměrného pole na list. Protože rozsah, který má být zapsán, by měl odpovídat velikosti pole, která obvykle není předem známa, k nastavení výstupního rozsahu se používá metoda Resize
Níže uvedený příklad načte data v rozsahu A1: E10 v aktivním listu do pole a zapíše pole na list „Výstup“ počínaje buňkou A1:
123456 | Sub WriteArray ()`` Přečtěte data do poledata = Rozsah ("A1: E10"). Hodnota„Změňte velikost výstupního rozsahu a zapište polePracovní listy („Výstup“). Rozsah („A1“). Změnit velikost (UBound (data, 1), UBound (data, 2)). Hodnota = dataEnd Sub |
Autor: Vinamra Chandra