: Вызначаны карыстальнікам тып не вызначаны ў Excel VBA (2 хуткія рашэнні)

  • Падзяліцца Гэтым
Hugh West

Адна з найбольш распаўсюджаных памылак, з якімі мы сутыкаемся падчас працы з VBA у Excel, заключаецца ў тым, што тып, вызначаны карыстальнікам, не вызначаны. У гэтым артыкуле я пакажу вам, чаму ўзнікла гэтая памылка і як яе вырашыць.

Спампаваць практычны сшытак

Спампуйце гэты практычны сшытак, каб займацца падчас заняткаў чытаюць гэты артыкул.

Вызначаны карыстальнікам тып не вызначаны.xlsm

2 Прычыны і шляхі вырашэння Вызначаны карыстальнікам Тып не вызначаны ў Excel VBA

Ёсць 2 асноўныя праблемы, звязаныя з гэтай частай памылкай у Excel VBA . Разгледзім іх дэталёва і знойдзем шляхі іх вырашэння.

1. Арфаграфічная памылка падчас дэкларацыі зменных

Гэта асноўная прычына гэтай памылкі. Часцей за ўсё памылка “Вызначаны карыстальнікам тып не вызначаны” узнікае з-за арфаграфічнай памылкі пры аб'яве зменных.

Паглядзіце на наступныя радкі кодаў.

4602

Калі вы запусціце гэты код, вы атрымаеце паведамленне пра памылку з паведамленнем аб наяўнасці памылкі “Вызначаны карыстальнікам тып не вызначаны”. Разам з ім вы знойдзеце другі радок кода, вылучаны сінім, дзе я напісаў “strng” замест “радок” .

Спадзяюся, вы зразумелі сутнасць. VBA не можа распазнаць тып зменнай “strng” , таму ён разглядае яе як новы тып зменнай і думае, што вы яе дзесьці вызначылі. Але калі гэтавыявіў, што вы яе нідзе не аб'явілі, выклікала памылку.

Такім чынам, падчас выканання простых кодаў VBA , калі вы ўсё роўна сутыкнецеся з гэтай памылкай, спачатку праверце ўсе напісанні вашых тыпаў зменных.

2. Адсутнасць належных спасылак

Гэта яшчэ адна прычына гэтай памылкі. Гэта адсутнасць належнай спасылкі. Часам мы выкарыстоўваем некаторыя аб'екты ў нашых кодах, якія патрабуюць правільнай спасылкі з Вокны даведкі Visual Basic . У адваротным выпадку VBA не распазнае аб'ект.

Паглядзіце на наступны код VBA .

4235

Запусціце гэты код. Вы атрымаеце тую самую старую памылку «Вызначаны карыстальнікам тып не вызначаны», выдзяляючы аб'ект Слоўнік . Гэта таму, што VBA не можа распазнаць аб'ект Dictionary і разглядае яго як вызначаную карыстальнікам зменную, якая не была вызначана памылкова.

Цяпер галоўнае пытанне, як вырашыць гэтую памылку? лёгка. Ёсць 2 спосабу вырашэння гэтай памылкі.

⧪ Рашэнне 1: Праверка папярэдняй спасылкі з Visual Box Reference Box

Гэта самы разумны спосаб вырашыць гэтую праблему. Перайдзіце да Інструменты > Спасылкі кнопка на стужцы Visual Basic . Націсніце на Спіс літаратуры .

Адкрыецца дыялогавае акно пад назвай Спасылкі . Пракруціце і знайдзіце Microsoft Scripting Runtime (Гэта залежыць ад аб'екта, які вы выкарыстоўваеце. Слоўнікаб'ект патрабуе Microsoft Scripting Runtime , каб быць распазнаным. Такім чынам, пры выкарыстанні аб'екта ў кодзе VBA вы павінны ведаць яго неабходныя ўмовы для распазнання VBA. Наведайце гэтую спасылку для атрымання дадатковай інфармацыі.). Праверце.

Зараз вярніцеся і запусціце код. Вы не атрымаеце ніякіх памылак. Таму што VBA на гэты раз можа распазнаць аб'ект Слоўнік .

⧪ Рашэнне 2: аб'явіць яго як чысты аб'ект, а не як канкрэтны аб'ект

Ёсць іншы спосаб вырашыць гэтую праблему. Вы можаце аб'явіць аб'ект як чысты аб'ект, а не як аб'ект Dictionary .

Звярніце ўвагу на наступныя радкі кодаў.

8169

Тут я абвясціў зменную MyDictionary як просты аб'ект, а не Слоўнік. Цяпер, калі вы запусціце гэты код, вы не атрымаеце ніякай памылкі.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.