Како се користи ВБА за сваку петљу? (са Екцел примерима)

Екцел ВБА за сваку петљу

ВБА за сваку петљу пролази кроз сву колекцију предмета или предмета и обавља сличан скуп активности. Узимаће се у обзир сви доступни наведени објекти и извршаваће се задате активности у сваком објекту.

У ВБА је обавезно разумети петље у ВБА. Петља вам омогућава да спроводите исту врсту активности за многе ћелије или предмете у Екцелу. У данашњем чланку ћемо се концентрисати на механизам За сваку петљу.

Синтакса

За сваку петљу може се петљати кроз све постављене колекције предмета или предмета. Збирка није ништа друго до „Све отворене радне свеске“, „Сви радни листови у радној свесци“, „Сва колекција облика и графикона у радној свесци“.

Погледајмо синтаксу.

За сваки  Предмет у колекцији Шта радити? Следећи Предмет 

На пример, у радној свесци имате 10 листова и желите сакрити све радне листове, осим оног у коме се налазите. Можете ли сакрити ручно, да можете, али шта ако имате 100 таквих листова није досадно и време -потрошан задатак који треба обавити. То можете учинити помоћу сваке петље.

Како се користи за сваку петљу у ВБА? (Примери)

Овај ВБА за сваку петљу можете преузети овде - ВБА за сваку петљу

Пример # 1 - Уметните исти текст у све табеле

Видећемо како се ЗА СВАКОГА користи у ВБА на једноставном примеру. Претпоставимо да имате 5 радних листова у радној свесци и да желите да уметнете реч „Здраво“ у све радне листове у ћелији А1.

То можемо учинити са ФОР ЕАЦХ ЛООП. Овде морате да запамтите да ову активност заправо обављамо на сваком радном листу, а не на истом. Следите кораке у наставку да бисте написали ВБА код.

Корак 1: Покрените екцел макро.

Шифра:

 Суб Фор_Еацх_Екампле1 () Енд Суб 

Корак 2: Пошто се позивамо на радне листове, променљиву прогласите „Радни лист“.

Шифра:

 Суб Фор_Еацх_Екампле1 () Дим Вс ас Ворксхеет Енд Суб 

Корак 3: Сада користећи ФОР ЕАЦХ ЛООП морамо да упутимо сваки радни лист у активну радну свеску.

Шифра:

 Под Фор_Еацх_Екампле1 () Затамни Вс као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Нект Вс Енд Суб 

Корак 4: Сада напишите сваки рад на сваком радном листу. У сваки радни лист треба да ставимо реч „Здраво“ у ћелију А1.

Шифра:

 Суб Фор_Еацх_Екампле1 () Затамни В као радни лист за сваки В у АцтивеВоркбоок.Ворксхеетс Вс.Ранге ("А1"). Валуе = "Хелло" Следећи Вс Енд Суб 

Корак 5: Сада покрените овај код ручно кроз опцију или притисните тастер пречице Ф5, није важно колико листова имате, убациће реч „Здраво“ у све радне листове.

Пример # 2 - Сакриј све табеле

Као што је раније речено у посту, шта ако имате стотине листова за сакривање, осим оног у коме се налазите. Коришћење За сваку петљу можемо сакрити све листове у екцелу.

Корак 1: Покрените макро са својим именом.

Шифра:

 Суб Фор_Еацх_Екампле2 () Крај Суб 

Корак 2: Прогласите променљиву као „Вс”.

Шифра:

 Суб Фор_Еацх_Екампле2 () Дим Вс ас Ворксхеет Енд Суб 

Корак 3: Сада на сваком радном листу треба сакрити лист.

Шифра:

 Суб Фор_Еацх_Екампле2 () Затамни В као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Вс.Висибле = клСхеетВериХидден Нект Вс Енд Суб 

Корак 4: Али ако покренете горњи код, он ће покушати да сакрије све листове, али Екцелу је потребан бар један лист да би био видљив. Дакле, морамо рећи који лист не треба сакрити.

Шифра:

 Суб Фор_Еацх_Екампле2 () Затамни Вс као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Иф Вс.Наме "Маин Схеет" тхен Вс.Висибле = клСхеетВериХидден Енд Иф Нект Вс Енд Суб 

Тхе симбол оператора значи није једнако као у ВБА.

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

То се може учинити употребом изјаве ИФ у ВБА. Напиши код као ИФ Вс.Наме „Маин Схеет“ Затим сакриј или ако је једнак имену листа „Маин Схеет“ онда немој сакрити.

Корак 5: Сада покрените код помоћу тастера Ф5 или ручно, па ће сакрити сав радни лист, осим оног који је назван „Главни лист“.

Пример # 3 - Откривање свих листова

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

Само треба да променимо код из клСхеетВериХидден до клСхеетВисибле.

Шифра:

 Суб Фор_Еацх_Екампле3 () Затамни В као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Вс.Висибле = клСхеетВисибле Следећи Вс Енд Суб 

Овде нам није потребан ИФ услов, јер откривамо све листове. Ако не желите да откријете било који одређени лист, можете да употребите услов ИФ и наведете назив листа.

Пример # 4 - Заштитите и уклоните заштиту свих листова

Заштитите све листове: Све листове у радној свесци можемо заштитити само комадом кода. Сав код је исти, једино што овде треба да урадимо је уместо Вс. Видљиво треба да ставимо код Вс. Заштитите и унесите лозинку.

Шифра:

 Под Фор_Еацх_Екампле4 () Затамни В као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Вс.Протецт Пассворд: = "Екцел @ 2019" Следећи Вс Енд Суб 

Опозовите заштиту свих листова: На сличној белешци, помоћу вба, такође можемо уклонити заштиту свих листова који су били заштићени у радној свесци. Само треба да ставимо реч Унпротецт и лозинку.

Шифра:

 Под Фор_Еацх_Екампле6 () Затамни В као радни лист за сваки Вс у АцтивеВоркбоок.Ворксхеетс Вс.Унпротецт Пассворд: = "Екцел @ 2019" Следећи Вс Енд Суб 

Ствари које треба запамтити

  • Свака је за сакупљање предмета.
  • Узеће у обзир све наведене објекте у наведеној радној свесци.
  • Док декларишемо променљиву требамо на који се објект позивамо. На пример, радни лист, радна свеска, графикон итд.