Као што знате, ВБА метода изводи радњу у програму Екцел 2016. Објекат Ранге има на десетине метода, али већина њих вам неће требати. Овде ћете пронаћи неке од најчешће коришћених метода Ранге објеката.
Метод Селецт
Користите метод Селецт да бисте изабрали опсег ћелија. Следећа изјава бира опсег у активном радном листу:
Опсег(“А1:Ц12”). Изаберите
Пре него што изаберете опсег, често је добра идеја да користите још једну наредбу да бисте били сигурни да је исправан радни лист активан. На пример, ако Схеет1 садржи опсег који желите да изаберете, користите следеће изјаве да бисте изабрали опсег:
Схеетс(“Схеет1”).Активирајте
Опсег(“А1:Ц12”). Изаберите
Супротно ономе што можете очекивати, следећа изјава генерише грешку ако Схеет1 већ није активан лист. Другим речима, морате користити две изјаве, а не само једну: једну за активирање листа и другу за одабир опсега.
Схеетс(“Схеет1”).Распон(“А1:Ц12”).Изаберите
Ако користите метод ГоТо објекта Апплицатион да бисте изабрали опсег, можете заборавити да прво изаберете исправан радни лист. Ова изјава активира Схеет1, а затим бира опсег:
Апплицатион.Гото Схеетс(“Схеет1”).Распон(“А1:Ц12”)
Метод ГоТо је ВБА еквивалент притискању Ф5 у Екцел-у, који приказује оквир за дијалог ГоТо.
Методе копирања и лепљења
Можете да изводите операције копирања и лепљења у ВБА користећи методе копирања и лепљења. Имајте на уму да два различита објекта долазе у игру. Метода Цопи је применљива на објекат Ранге, али метода Пасте се примењује на објекат Ворксхеет. То заправо има смисла: копирате опсег и налепите га на радни лист.
Овај кратки макро (љубазношћу снимача макроа) копира опсег А1:А12 и лепи га у исти радни лист, почевши од ћелије Ц1:
Суб ЦопиРанге()
Опсег(“А1:А12”). Изаберите
Селецтион.Цопи
Опсег(“Ц1”).Изаберите
АцтивеСхеет.Пасте
Енд Суб
Приметите да се у претходном примеру објекат АцтивеСхеет користи са методом Пасте. Ово је посебна верзија објекта Ворксхеет који се односи на тренутно активни радни лист. Такође приметите да макро бира опсег пре него што га копира. Међутим, не морате да изаберете опсег пре него што нешто урадите са њим. У ствари, следећа процедура остварује исти задатак као претходни пример коришћењем једне изјаве:
Суб ЦопиРанге2()
Опсег(“А1:А12”). Опсег копирања(“Ц1”)
Енд Суб
Ова процедура користи предност чињенице да метода Цопи може да користи аргумент који одговара опсегу одредишта за операцију копирања. То је нешто што можете сазнати ако проверите у систему помоћи.
Метода Цлеар
Метода Цлеар брише садржај опсега, плус све форматирање ћелија. На пример, ако желите да поништите све у колони Д, следећа изјава ради трик:
Колоне(“Д:Д”).Очисти
Требало би да будете свесни две повезане методе. Метода ЦлеарЦонтентс брише садржај опсега, али оставља форматирање нетакнуто. Метода ЦлеарФорматс брише форматирање у опсегу, али не и садржај ћелије.
Метода Делете
Брисање опсега се разликује од брисања опсега. Када избришете опсег, Екцел помера преостале ћелије да би попунио опсег који сте избрисали.
Следећи пример користи методу Делете за брисање реда 6:
Редови(“6:6”). Избриши
Када избришете опсег који није цео ред или колона, Екцел треба да зна како да помери ћелије. (Да бисте видели како ово функционише, експериментишите са Екцеловом командом Почетна → Ћелије → Избриши → Избриши ћелије.)
Следећа изјава брише опсег, а затим попуњава насталу празнину померањем осталих ћелија улево:
Опсег(“Ц6:Ц10”).Делете клТоЛефт
Метода Делете користи аргумент који показује како Екцел треба да помери преостале ћелије. У овом случају се за аргумент користи уграђена константа (клТоЛефт). Такође можете користити клУп, другу именовану константу.