Изаберите опсег ћелија у ВБА макроу помоћу миша или тастатуре

Anonim

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

Опсези ћелија се обрађују у многим макроима. Да ли тражите згодан начин да дозволите кориснику да изабере област из макроа? Затим можете користити команду ИНПУТБОКС.

Следећа слика приказује који прозор за унос можете укључити у своје макрое помоћу ове команде:

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

Подозначено подручје ()
На Грешка Настави даље
Дим ареа Ас Ранге
Сет ареа = Апплицатион.ИнпутБок ("Молимо изаберите област", _
"Изабери област" ,,,,,, 8)
МсгБок "Изабрали сте следеће подручје:" & _
Ареа.АддрессЛоцал (лажно, лажно)
Он Еррор ГоТо 0
Енд Суб

Након покретања макронаредбе, Екцел прво приказује прозор. Када изаберете опсег ћелија, Екцел приказује претходно изабрани опсег у прозору за поруку:

Уместо прозора за поруку, користите програмски код у својим макроима са којим желите да обрадите ћелије у претходно изабраном опсегу ћелија. Пошто команда ИНПУТБОКС враћа објекат типа РАНХГЕ, можете одмах обрадити изабрани опсег ћелија, на пример у петљи ФОР-ЕАЦХ.

Да бисте унели макро, притисните АЛТ Ф11 у Екцелу да бисте отворили ВБА едитор. Помоћу команде ИНСЕРТ - МОДУЛЕ уметните празан лист модула. Да бисте покренули макро директно из програма Екцел, користите комбинацију тастера АЛТ Ф8.