ВБА променљиви опсег | Примери променљивог опсега у програму Екцел ВБА

Екцел ВБА променљива у опсегу

Променљиве су срце и душа било ког великог ВБА пројекта, јер су променљиве срце и душа, тада је врста података коју им додељујемо такође веома важан фактор у том погледу. У нашим многим ранијим чланцима много смо пута разговарали о променљивим и њиховој важности типа података. Једна од таквих променљивих и врста података је „Променљива опсега“, у овом посебном наменском чланку даћемо комплетан водич о „променљивој опсега“ у екцелу ВБА.

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

Као и свака друга променљива Опсег у ВБА, променљива је такође променљива, али то је „Објецт Вариабле“ коју користимо за постављање референце одређеног опсега ћелија.

Као и било којој другој променљивој, променљивој можемо дати било које име, али тип података који им доделимо треба да буде „Опсег“. Једном када се тип података додели променљивој, он постаје „Објецт Вариабле“ и за разлику од друге променљиве, не можемо почети да користимо променљиву пре него што поставимо референцу на објекте у случају објектних променљивих.

Дакле, након што прогласимо променљиву треба да користимо "КОМПЛЕТ" кључна реч за постављање референце на објект, тј. опсег објекта у овом случају.

Ок, сада ћемо практично видети неке примере екцел ВБА опсега променљивих.

Примери променљиве опсега у програму Екцел ВБА

Овде можете преузети овај ВБА шаблон променљивог опсега програма Екцел - ВБА шаблон променљивог опсега опсега

На пример, претпоставимо да желите да изаберете опсег ћелија од А2 до Б10 за доњу слику екрана.

Да бисмо изабрали овај поменути опсег ћелија, све док имамо РАНГЕ објект и унутар објекта ранге, поменули смо адресу ћелије у двоструким наводницима.

Шифра:

 Суб Ранге_Вариабле_Екампле () Ранге ("А2: Б10") Крај Суб 

Једном када се опсег ћелија спомене помоћу РАНГЕ објекта ако ставите тачку, видећемо сва својства и методе повезане са овим објектом опсега.

Шифра:

 Суб Ранге_Вариабле_Екампле () Ранге ("А2: Б10"). Енд Суб 

С обзиром да морамо да одаберемо поменуте ћелије, једноставно одаберите методу „Селецт“ са листе ИнтеллиСенсе.

Шифра:

 Суб Ранге_Вариабле_Екампле () Ранге ("А2: Б10"). Изаберите Енд Суб 

Покрените код и он ће одабрати поменуте ћелије.

Ово је очигледно, зар не, али замислите сценарио коришћења истог опсега у дугом ВБА пројекту, рецимо сто пута, писањем истог кода „Опсег (“ А2: А10 ”)” 100 пута ће потрајати, али уместо тога ћемо прогласити променљиву и доделити тип података као објекат „Распон“.

Ок, дајмо своје име променљивој и доделимо тип података као „опсег“.

Осим „Објецт Вариаблес“, можемо почети да користимо променљиве по њиховом имену, али у случају „Објецт Вариаблес“, морамо поставити референцу.

На пример, у овом случају, наш променљиви (Рнг) објекат је опсег па морамо поставити референцу на коју ће се односити реч „Рнг“. Да бисмо поставили референцу, треба да користимо кључну реч „Сет“.

Сада се променљива „Рнг“ односи на опсег ћелија од А2 до Б10, уместо на писање „Опсег („ А2: Б10 “))“ сваки пут када можемо једноставно да напишемо реч „Рнг“.

У следећем реду наведите име променљиве „Рнг“ и ставите тачку да бисте видели чаролију.

Као што видите горе, можемо видети сва својства и методе домета као и претходни.

Направите променљиву динамичком

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

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

Да бисмо пронашли последњи коришћени ред и колону, морамо да дефинишемо још две променљиве.

Шифра:

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање крајњег суб 

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

Шифра:

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање ЛР = Ћелије (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт) .Цолумн Енд Суб 

Сада отворите израз „Постави“.

Шифра:

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање ЛР = Ћелије (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт). Сет колона Рнг = Енд Суб 

За разлику од претходне методе, овај пут користимо својства ВБА ЦЕЛЛС.

Шифра:

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање ЛР = Ћелије (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт). Сет колона Рнг = Целлс (1, 1) Енд Суб 

Споменуо сам Ћелије (1,1), тј. Ово се односи на прву ћелију у активном листу, али потребна нам је референца опсега података, па користите својство „РЕСИЗЕ“ и спомените променљиве „последњи коришћени ред и колона“.

Шифра:

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање ЛР = Ћелије (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт). Сет колона Рнг = Целлс (1, 1) .Ресизе (ЛР, ЛЦ) Енд Суб 

Сада ће ово поставити најновију референцу на променљиву објекта опсега „Рнг“. Даље, спомените име променљиве и користите методу „Селецт“.

 Суб Ранге_Вариабле_Екампле () Дим Рнг Ас Ранге Дим ЛР Ас Лонг 'ЛР = Последњи ред за разумевање Дим ЛЦ Ас Лонг' ЛЦ = Последња колона за разумевање ЛР = Ћелије (Ровс.Цоунт, 1) .Енд (клУп) .Ред ЛЦ = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт). Сет колона Рнг = Целлс (1, 1) .Ресизе (ЛР, ЛЦ) Рнг. Изаберите Енд Суб 

Сада ћу додати још неколико редова у своје податке.

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

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

  • Променљива опсега у екцел ВБА је објектна променљива.
  • Кад год користимо променљиву објекта, морамо да користимо кључну реч „Сет“ и поставимо референцу објекта на променљиву.
  • Без постављања референце не можемо користити објектну променљиву.