Потребна грешка објекта у Екцел ВБА - Решавање проблема

Преглед грешке потребног објекта

Овај водич ће вам помоћи у решавању проблема са Објецт Рекуиред Еррорс у ВБА.

<

<

Преглед објеката

У ВБА, објекат је „ствар“ попут радног листа, радне свеске, опсега, облика, реда, колоне, корисничког облика, контроле итд.

Објекти имају својства (нпр. Име, боја, скривено) и методе (нпр. Отварање, брисање, чување, скривање). Ако покушате да примените својство или метод, ВБА треба важећи објекат на који ће применити својства или методе.

Ако не дате важећи објекат, добићете Објецт Рекуиред Еррор.

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

#1. Опција Експлицитни / погрешно написани називи променљивих

Прво проверите да ли сте погрешно написали назив објекта. Погрешно написано име може изазвати Објецт Рекуиред Еррор.

То се може догодити са постојећим именима објеката:

<>

Или са именима променљивих:

<>

Један од добрих начина да спречите погрешно написана имена променљивих је да проверите да ли сте на врху модула кода декларисали опцију Екплицит.

1 Опција Експлицитно

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

<>

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

ВБА програмирање | Генератор кода ради за вас!

#2 Додељивање променљивих

Затим проверите да ли сте правилно доделили своје променљиве.

Променљиве објекта морају бити додељене помоћу Сет Објецт =: <>

<>

Ако не користите Сет за додељивање променљивих објеката, добићете грешку Објецт Рекуиред.

<>

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

<>

Ако покушате да користите Сет на променљивој која није објекат, добићете грешку Објецт Рекуиред.

<>

#3 Модули на нивоу радног листа

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

На пример, можда имате распон назива „Ниво“ на нивоу радне свеске, у редовном кодном модулу, можете се позвати на именовани опсег овако:

1 МсгБок Ранге ("Дате"). Вредност

Међутим, ако се позивате на именовани опсег из модула на нивоу радног листа, морате изричито дефинисати радни лист на коме се налази именовани опсег:

1 МсгБок Схеетс ("Схеет2"). Опсег ("Дате"). Вредност

У супротном ћете наићи на грешку:

<>

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

wave wave wave wave wave