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

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

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

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

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

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

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

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

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

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

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

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

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

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

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

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

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

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

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

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

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

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

Шифра:

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

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

Шифра:

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

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

Шифра:

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

Unlike the previous method, we use VBA CELLS properties this time.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

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

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

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

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

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

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

Занимљиви Чланци...