Иако је знање о томе како се односити на објекте важно, не можете да урадите никакво корисно Екцел ВБА програмирање једноставним упућивањем на објекат. Да бисте постигли било шта значајно, морате да урадите једну од две ствари:
Са буквално хиљадама доступних својстава и метода, лако можете бити преплављени. Само запамтите, никада нећете морати да користите већину доступних својстава и метода.
Својства објекта
Сваки објекат има својства. Својства можете замислити као атрибуте који описују објекат. Својства објекта одређују како он изгледа, како се понаша, па чак и да ли је видљив. Користећи ВБА, можете да урадите две ствари са својствима објекта:
На пример, једноћелијски објекат Ранге има својство под називом Вредност. Својство Валуе чува вредност садржану у ћелији. Можете написати ВБА код да бисте приказали својство Валуе или можете написати ВБА код да бисте својство Валуе поставили на одређену вредност. Следећи макро користи уграђену ВБА функцију МсгБок да би приказао оквир који приказује вредност у ћелији А1 на Схеет1 активне радне свеске:

Овај оквир за поруку приказује својство Валуе објекта Ранге.
Суб СховВалуе()
Садржај = Радни листови(“Схеет1”).Распон(“А1”).Вредност
МсгБок Цонтентс
Енд Суб
Иначе, МсгБок је веома корисна функција. Можете га користити за приказ резултата док Екцел извршава ваш ВБА код.
Код у претходном примеру приказује тренутну поставку својства Валуе ћелије. Шта ако желите да промените поставку за то својство? Следећи макро мења вредност у ћелији А1 променом својства Валуе ћелије:
Суб ЦхангеВалуе()
Радни листови(“Схеет1”).Распон(“А1”).Вредност = 994,92
Енд Суб
Након што Екцел изврши ову процедуру, ћелија А1 на Схеет1 активне радне свеске садржи вредност 994,92. Ако активна радна свеска нема лист под називом Схеет1, резултат извршавања тог макроа је порука о грешци. ВБА само прати упутства и не може да ради са листом који не постоји.
Сваки објекат има свој скуп својстава, иако су нека својства заједничка за многе објекте. На пример, многи (али не сви) објекти имају својство Висибле. Већина објеката такође има својство Наме.
Нека својства објекта су својства само за читање, што значи да ваш код може добити вредност својства, али је не може променити.
Колекција је такође објекат. То значи да колекција такође има својства. На пример, можете да одредите колико радних књига је отворено тако што ћете приступити својству Цоунт колекције Радне свеске. Следећа ВБА процедура приказује оквир са поруком који вам говори колико је радних књига отворено:
Суб ЦоунтБоокс()
МсгБок Воркбоокс.Цоунт
Енд Суб
Објектне методе
Поред својстава, објекти имају методе. Метод је акција вршите са предметом. Метода може променити својства објекта или натерати објекат да уради нешто.
Овај једноставан пример користи методу ЦлеарЦонтентс на објекту Ранге за брисање садржаја 12 ћелија на активном листу:
Суб ЦлеарРанге()
Опсег(“А1:А12”).ЦлеарЦонтентс
Енд Суб
Неке методе узимају један или више аргумената. Аргумент је вредност која се даље наводе акција изврши. Аргументе за метод постављате после методе, раздвојене размаком. Више аргумената је одвојено зарезом.
Следећи пример активира Схеет1 (у активној радној свесци), а затим копира садржај ћелије А1 у ћелију Б1 коришћењем методе Цопи објекта Ранге. У овом примеру, метода Цопи има један аргумент, који је одредишни опсег за операцију копирања:
Суб ЦопиОне()
Радни листови(“Схеет1”).Активирајте
Опсег(“А1”). Опсег копирања(“Б1”)
Енд Суб
Приметите да је референца радног листа изостављена када су објекти опсега референцирани. Ово се може безбедно урадити јер је коришћена изјава за активирање Схеет1. (помоћу методе Активирај).
Други начин да се специфицира аргумент за метод је коришћење званичног имена аргумента праћеног двотачком и знаком једнакости. Коришћење именованих аргумената је опционо, али то често може олакшати разумевање вашег кода. Друга изјава у ЦопиОне процедури би се могла написати овако:
Опсег(“А1”).Одредиште копирања:=Опсег(“Б1”)
Обратите пажњу на мали упит док се куца изјава. Тај упит показује званично име аргумента.

ВБЕ приказује листу аргумената док куцате.
Пошто је колекција такође објекат, колекције имају методе. Следећи макро користи метод Адд за колекцију Воркбоокс:
Суб АддАВворкбоок()
Радне свеске.Додај
Енд Суб
Као што можете очекивати, ова изјава креира нову радну свеску. Другим речима, додаје нову радну свеску колекцији Радне свеске. Након што извршите овај макро, нова радна свеска ће бити активна радна свеска.
Објектни догађаји
Постоји још једна тема о којој треба да знате: догађаји. Објекти реагују на различите догађаје који се дешавају. На пример, када радите у Екцел-у и активирате другу радну свеску, дешава се догађај Активација радне свеске. Можете, на пример, да имате ВБА макро који је дизајниран да се изврши сваки пут када дође до догађаја Ацтивате за одређени објекат радне свеске.
Екцел подржава многе догађаје, али не могу сви објекти да одговоре на све догађаје. А неки објекти не реагују ни на какве догађаје. Једини догађаји које можете да користите су они који су омогућили програмери Мицрософт Екцел-а.