Преоразмерете диапазона с помощта на VBA
Този урок ще покаже как да използвате Преоразмеряване на свойството от Range Object да се промени, за да се върне нов диапазон, преоразмерен от оригиналния обект Range.
Синтаксис
Синтаксисът за свойството Resize е:
1 | Диапазон ("A1"). Преоразмеряване (RowSize, ColumnSize) |
Където Range (“A1”) е вашият стартов диапазон.
RowSize и ColumnSize трябва да са по -големи от нула. Всеки вход е незадължителен (напр. Можете да пропуснете RowSize, за да промените само броя на колоните, или обратното).
Преоразмерете броя на редовете и колоните
Следващият пример разширява диапазона с една клетка A1 до диапазон A1: D10 чрез увеличаване на броя на редовете до 10 и броя на колоните до 5.
1 | Диапазон ("A1"). Преоразмеряване (10, 5) .Изберете |
Или по -често ще присвоите променения диапазон на променлива:
12 | 'Преоразмерете диапазона до желания размер и го присвойте на променливаЗадайте newRng = ActiveSheet.Range ("A1"). Преоразмерете (10, 5) |
Преоразмерете само броя редове
Следващият пример променя само броя на редовете:
12 | „Променете само размера на реда, Новият диапазон ще бъде $ A $ 1: $ A $ 10Задайте newRng = rng.Resize (10) |
Преоразмерете само броя на колоните
Следващият пример променя само броя на колоните:
12 | „Променете само размера на колоната, новият диапазон ще бъде $ A $ 1: $ E $ 1Задайте newRng = rng.Resize (, 5) |
Преоразмерете диапазона на таблицата, за да изключите заглавката
Ако имате таблица на активен лист с ред заглавка, кодът първо ще избере цялата таблица, след което ще се премести с един ред надолу, за да изключи заглавката, използвайки метода Range.Offset. След това ще използва свойството Range.Resize, за да намали размера с един ред.
1234567891011 | Sub SelectTableData ()'** ВАЖНО **'Щракнете върху някоя клетка от таблицата, преди да стартирате макроса'Преместете един ред надолу с помощта на Offset и след това намалете размера на диапазона с един редЗадайте tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)„Данните са избрани с изключение на заглавния редtbl.Address.SelectEnd Sub |
Напишете 2-D масив за обхват
Друга често срещана употреба е да запишете двуизмерен масив на лист. Тъй като диапазонът за запис трябва да съвпада с размера на масива, който обикновено не е известен предварително, методът Resize се използва за задаване на изходния диапазон
Примерът по -долу ще прочете данните в диапазона A1: E10 в активен лист в масив и ще запише масива в лист „Output“, започвайки от клетка A1:
123456 | Sub WriteArray ()„Прочетете данните в масивданни = Обхват ("A1: E10"). Стойност'Променете размера на изходния диапазон и напишете масиваРаботни листове ("Изход"). Диапазон ("A1"). Преоразмеряване (UBound (данни, 1), UBound (данни, 2)). Стойност = данниEnd Sub |
Написано от: Винамра Чандра