Екцел ВБА тренутни прозор - 5 сјајних начина да га користите!

„Непосредни прозор“ може бити користан алат за рад са ВБА у Екцелу.

Одмах прозор вам омогућава да брзо радите ствари као што су:

  • Добијте информације о Екцел датотекама (попут броја листова у радној свесци или назива радне свеске)
  • Брзо набавите информације о отклањању грешака
  • Покрените ред кода за неколико секунди
  • Покрените макро (или позовите функцију)
  • Добијте информације о променљивим (или подесите вредност или променљиве)

Иако не морате да користите непосредни прозор за рад са ВБА у Екцелу, знање о томе како га добро користити може вас учинити много ефикаснијим.

У овом водичу ћу покрити све што требате знати о непосредном прозору и како га најбоље користити (објашњено је на примјерима).

Хајде да почнемо!

Шта је тренутни прозор у програму Екцел ВБА?

Иммедиате Виндов је део ВБ Едитор -а који можете користити за неке брзе ствари.

Да вам дам пример, ако имате радну свеску са неким скривеним радним листовима и желите брзо да знате број укупних радних листова, то можете учинити за неколико секунди помоћу прозора Непосредан.

Непосредни прозор чини много више (као што ћете видети касније у овом водичу). Али за почетак, замислимо само тренутни прозор као алат који ће вам помоћи да убрзате рад у програму Екцел ВБА.

Где пронаћи тренутни прозор?

Када отворите Екцел ВБ-Едитор, можда ћете већ видети непосредни прозор као део ВБ Едитор-а. А ако га већ не видите, лако га можете приказати.

Испод су кораци за отварање ВБ Едитор -а и омогућавање видљивог прозора:

  1. Кликните на картицу „Програмер“ на Екцел траци (ако не видите картицу програмера, кликните овде да бисте сазнали како да је добијете)
  2. У групи кодова кликните на „Висуал Басиц“. Ово ће отворити ВБ Едитор
  3. У ВБ Едитор -у кликните на опцију „Виев“ у менију
  4. Кликните на Непосредни прозор. Ово ће учинити да се непосредни прозор прикаже у ВБ Едитор -у.

Ако вам више пријају пречице, у наставку су неки од њих како бисте убрзали горе наведене кораке:

  • Да бисте отворили ВБ Едитор - АЛТ + Ф11 (ово функционише чак и ако немате картицу Девелопер на траци)
  • Да бисте приказали непосредни прозор - Цонтрол + Г (користите овај ВБ Едитор је отворен)

Примери коришћења непосредног прозора у Екцел ВБА

Сада када знате где да пронађете непосредни прозор, хајде да видимо неке сјајне примере где га можете користити при раду са Екцел ВБА.

Добијте информације о датотекама/радним свескама

„Непосредни прозор“ је место где можете постављати питања о радним свескама и одмах ће вам дати одговор.

На пример, претпоставимо да имате радну свеску и желите да знате колико листова има у радној свесци, можете да откуцате доњи код у непосредном прозору и притиснете тастер ентер.

? АцтивеВоркбоок.Схеетс.Цоунт

Ово ће вам одмах рећи укупан број листова у активној радној свесци.

Ово може бити корисно када имате радну свеску која има пуно листова и не можете је ручно пребројати (или не желите), или када имате радну свеску у којој постоје скривени листови и желите да знате укупан број цоунт.

Тхе? (упитник) би требало да се користи пре упита како би ВБА могао да разуме да постављате питање. Ако не користите овај знак питања, тренутни прозор вам неће дати детаље/одговор.

Ово је заиста једноставан пример где вам непосредни прозор даје неке информације и штеди време.

Испод је још неколико примера:

Да бисте добили назив активне радне свеске

? АцтивеВоркбоок.Наме

Да бисте добили име активног листа

? Ацтивесхеет.Наме

Да бисте сазнали путању радне свеске (адресу на којој је сачувана)

? АцтивеВоркбоок.Патх

Дакле, ако вам треба нешто у вези са објектом (попут радне свеске, листова, графикона, облика, распона итд.), Можете користити тренутни прозор да бисте брзо добили ове информације.

Гет Дебуг.Принт Информатион

У Екцел ВБА, Дебуг.Принт се користи за тренутно приказивање вредности променљиве у непосредном прозору.

На пример, доњи код би одмах приказао поруку „Добро јутро“ у непосредном прозору.

Суб ДисплаиМессаге () Дебуг.Принт "Гоод Морнинг" Енд Суб

Можете користити линију Дебуг.Принт у свом коду да бисте брзо добили неке податке у непосредном прозору или да бисте отклонили грешке у коду.

На пример, ако желите да добијете имена свих листова у радној свесци, можете користити доњи код:

Суб ГетСхеетНамес () За сваки сх у АцтивеВоркбоок.Схеетс Дебуг.Принт сх.Наме Следећи сх Енд Суб

Горњи код пролази кроз сваки лист у активној радној свесци и даје име у непосредном прозору.

Дебуг.Принт је корисна техника за отклањање грешака у вашем коду. На пример, ако покрећете петљу и желите да видите колико је пута петља покренута, можете једноставно поставити линију Дебуг.Принт која једноставно приказује растуће бројеве при покретању сваке петље.

Ако користите Дебуг.Принт да бисте отклонили грешке у коду, не заборавите да га уклоните када завршите.

Покрените макро (или функцију)

Иако постоје различити начини за покретање макроа у Екцелу, један од брзих начина је коришћење непосредног прозора.

Да бисте покренули макро, све што требате учинити је унијети назив макроа у непосредни прозор и притиснути типку ентер (курсор би требао бити на крају имена макроа да би ово функционирало).

Испод је пример, где чим унесете назив макроа у непосредном прозору, он покреће код (где код приказује поруку „Добро јутро“ у непосредном прозору).

Ово може бити корисно када имате код и желите да проверите да ли ради како се очекује или не. Можете имати једну или више линија за отклањање грешака у коду и покрените макро из непосредног прозора.

Одмах ће вам показати вредности у непосредном прозору и можете проверити ради ли све у реду или не.

Такође можете користити непосредни прозор за извршавање прилагођених функција.

На пример, у доњем примеру, функција је креирана да провери да ли је број паран или непаран. Ову функцију можете покренути из непосредног прозора уписивањем функције са потребним аргументом. У овом случају морате да користите знак питања јер тражите да не врати вредност ускладиштену у функцији.

Извршите ред кода (или више редова кода)

Са непосредним прозором можете покренути и линију кода (или више редова кодова).

Најбољи део овога је што можете једноставно отворити непосредни прозор, покренути код и затворити (за разлику од макроа који морате ставити у прозор модула, а затим извршити).

Случај употребе у којем ово може бити корисно је када желите брзо открити све листове у радној свесци.

Испод је код који можете поставити у непосредни прозор да бисте открили све листове у радној свесци. Поставите курсор на крај линије и чим притиснете тастер ентер, он ће открити све листове.

За сваки лист у овој радној свесци. Листови: Лист.Висибле = Тачно: Следећи лист

Имајте на уму да, иако ово изгледа као једна линија кода, састоји се од три дела.

Сваки део је одвојен знаком: (двотачка), који делује као прелом линије. Ово вам омогућава да користите петљу За следеће у непосредном прозору да прођете кроз сваки лист и промените видљиво својство у ТРУЕ (што открива све скривене листове).

Добијте променљиве вредности

Када почнете да стварате сложене ВБА кодове, морали бисте се ослонити на променљиве да бисте обавили посао.

Променљива је нешто што има вредност и та вредност се може променити када је код покренут. Помоћу непосредног прозора можете проверити ове променљиве вредности.

Испод је једноставан код који даје збир првих 10 позитивних целих бројева и приказује резултат у непосредном прозору.

Суб АддФирстТенНумберс () Дим Вар Ас Интегер Дим и Ас Интегер Дим к Ас Интегер Фор и = 1 То 10 к = к + и Нект и Дебуг.Принт и, к Енд Суб

Чим покренете овај код, видећете доњи резултат у непосредном прозору. Ово вам одмах говори да код ради добро и даје очекивани резултат.

У случају да не даје очекиване резултате, можете отклонити грешке у коду.

Многи људи користе оквир за поруке приликом отклањања грешака у коду. Иако ради добро, сматрам да је помало наметљив јер ме води до радне књиге програма Екцел и приказује оквир за поруку. С друге стране, коришћење непосредног прозора за отклањање грешака је много лакше и држи ме у самом уређивачу Висуал Басиц -а.

Напомена: Ако радите са сложеним кодом и имате више променљивих које морате да пратите, боље је да користите прозор за гледање. Прозор за гледање вам омогућава да додате променљиву и тада можете видети како се та променљива мења у реалном времену (или док корачате кроз код).

Подесите променљиву вредност приликом отклањања грешака

Ово је мало напредна употреба прозора Иммедиате, али ако га користите, може вам уштедети време при отклањању грешака у коду.

Можете користити непосредни прозор за постављање вредности променљиве док покрећете код у режиму отклањања грешака (где постављате тачку прекида тако да се код не извршава у потпуности - али до одређене линије).

На пример, ако имате петљу која ради 10 пута и желите да проверите шта се дешава када се петља изврши осми пут, не морате да пређете петљу седам пута да бисте дошли до осме итерације. Можете једноставно додати тачку прекида пре петље и променити променљиву петљу у 8. Сада, када покренете код, показаће вам шта се дешава када се петље покрену 8. пут.

Ово постаје много корисније када пишете сложене кодове и желите да отклоните грешке у одређеним петљама.

Претпоставимо да имате код као што је приказано испод:

Суб УнхидеСхеетс () Фор и = 1 То Ворксхеетс.Цоунт Дебуг.Принт Схеетс (и) .Назив Нект и Енд Суб

Горњи код једноставно наводи називе листова свих листова у радној свесци у непосредном прозору.

Ако не желите да наведете имена свих листова, већ само листова након 10. листа, можете поставити тачку прекида у другу линију петље (тако да се ништа после те линије не изврши), а затим променити променљива 'и' до 11.

Да бисте променили назив променљиве у непосредном прозору, унесите следећи ред:

и = 11

Ово ће осигурати да се првих 10 пута петље занемарује и да је вредност променљиве постављена на 11.

Спајање/откључавање непосредног прозора

Можете да имате тренутни прозор усидрен у ВБ Едитор - што значи да остаје на једном месту у ВБ Едитор -у и да се с њим помера и величине.

Такође га можете откључати, што значи да је независан од ВБ Едитор-а и да се може премештати као самосталан прозор.

Испод је приказано како можете променити подешавања за прикључивање за непосредни прозор:

  1. Кликните на опцију Алати у менију у ВБ Едитору
  2. Кликните на „Опције“
  3. У дијалогу Опције кликните на последњу картицу - Прикључивање
  4. Потврдите опцију Иммедиате Виндов да бисте је учинили прихватљивом и уклоните ознаку да је уклоните.
  5. Притисните ОК

Алтернативно, ако је непосредни прозор видљив, можете такође кликнути десним тастером миша и променити својство за његово спајање.

Прикључивање значи да би непосредни прозор постао део постојећег прозора постављањем на одређена места, као што је лево од прозора или при дну. Ово омогућава усидреним прозорима да се померају и величине заједно.

Непосредни прозор се не приказује - ево неколико начина да га добијете

Разлога за то може бити више.

Најчешћи разлог зашто не видите непосредан прозор је тај што није постао видљив. Можда није подразумевано видљив, а да би се појавио, потребно је да у менију одете на опцију Поглед и кликнете на опцију Непосредни прозор. Ово ће осигурати да је видљиво у ВБ Едитор -у.

Такође можете да користите тастатуру Цонтрол + Г да бисте приказали непосредни прозор. Користите ову тастерску пречицу док сте у ВБ Едитор -у.

Још један разлог зашто можда не видите непосредни прозор је то што је минимизиран сада толико затворен да га не видите (како је овде пријављено). Само брзо скенирајте и проверите да ли видите мали плави/црвени квадрат који вреба негде. Можете да задржите показивач изнад њега и видећете неку опцију да му промените величину.

Ако уопште не видите непосредни прозор, ево нечега што је успело многим људима (то се често дешава због промена резолуције екрана):

  1. Отворите ВБ Едитор
  2. Притисните Цтрл-Г да бисте фокус дали непосредном прозору (или кликните на опцију Приказ у менију, а затим кликните на непосредни прозор)
  3. Држите тастер АЛТ, а затим притисните тастер за размак. Ово ће приказати падајуће опције за непосредни прозор.
  4. Притисните М (за померање)
  5. Померите прозор помоћу тастера са стрелицама
  6. Кад схватите где се налази, повећајте га

Добио сам ово са форума овде и такође приметио да се исто предлаже као решење за ВБА тренутни прозор који се не приказује.

Још једна ствар коју можете покушати да учините да се тренутни прозор не може закључати (идите на Алатке -> Опције -> Прикључивање и поништите опцију непосредног прозора). Некима је ово успело.

Можда ће вам се допасти и следећи чланци:

  • Екцел лична макро радна свеска | Сачувајте и користите макрое у свим радним свескама
  • Екцел ВБА петље: За следеће, Урадите док, Урадите до, За сваку (са примерима)
  • Рад са радним листовима користећи Екцел ВБА
  • Креирање кориснички дефинисане функције (УДФ) у програму Екцел ВБА

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave