: Math Diffiniedig Defnyddiwr Heb ei Ddiffinio yn Excel VBA (2 Ateb Cyflym)

  • Rhannu Hwn
Hugh West

Un o'r gwallau mwyaf cyffredin sy'n ein hwynebu wrth weithio gyda VBA yn Excel yw nad yw'r math a ddiffinnir gan y defnyddiwr wedi'i ddiffinio. Yn yr erthygl hon, byddaf yn dangos i chi pam mae'r gwall hwn yn cael ei achosi a sut i ddatrys y gwall hwn.

Lawrlwythwch y Llyfr Gwaith Ymarfer

Lawrlwythwch y llyfr gwaith ymarfer hwn i wneud ymarfer corff tra byddwch chi yn darllen yr erthygl hon.

Math a Ddiffiniwyd gan y Defnyddiwr Heb ei Ddiffinio.xlsm

2 Achos ac Ateb i Defnyddiwr Diffiniedig Math Heb ei Ddiffinio yn Excel VBA

Mae 2 materion mawr y tu ôl i'r gwall hwn y deuir ar ei draws yn aml yn Excel VBA . Gadewch i ni eu harchwilio'n fanwl a darganfod sut i'w datrys.

1. Gwall Sillafu Wrth ddatgan Newidynnau

Dyma'r prif reswm dros y gwall hwn. Y rhan fwyaf o'r amser, mae'r gwall "Math heb ei Ddiffinio gan Ddefnyddiwr" yn cael ei achosi oherwydd gwall sillafu wrth ddatgan newidynnau.

Edrychwch ar y llinellau codau canlynol.

1463

Os ydych chi'n rhedeg y cod hwn, fe gewch chi flwch gwall yn eich hysbysu o bresenoldeb y gwall "Math heb ei ddiffinio gan Ddefnyddiwr heb ei Ddiffinio". Ynghyd ag ef, fe welwch ail linell y cod wedi'i amlygu mewn glas, lle ysgrifennais "strng" yn lle "string" .

Gobeithiaf y cewch y pwynt. Ni allai VBA adnabod y math newidyn "strng" , dyna pam yr oedd yn ei ystyried yn fath newidyn newydd ac yn meddwl eich bod wedi ei ddiffinio yn rhywle. Ond pan maeWedi canfod nad ydych wedi ei ddatgan yn unman, cododd wall.

Felly, wrth redeg codau VBA syml, os dewch ar draws y gwall hwn beth bynnag, gwiriwch yn gyntaf holl sillafiadau eich mathau newidyn.

2. Diffyg Cyfeirio Priodol

Dyma achos arall y tu ôl i'r gwall hwn. Mae hynny’n ddiffyg cyfeirio priodol. Weithiau byddwn yn defnyddio rhai gwrthrychau yn ein codau sydd angen cyfeirnod priodol o'r blwch Cyfeirnod Sylfaenol Gweledol . Fel arall, nid yw VBA yn adnabod y gwrthrych.

Edrychwch ar y cod VBA canlynol.

3549

Rhedeg y cod hwn. Fe gewch yr un hen wall "Math wedi'i Ddiffinio gan Ddefnyddiwr heb ei Ddiffinio", gan amlygu'r Gwrthrych Geiriadur . Mae hyn oherwydd nad oedd VBA yn gallu adnabod y gwrthrych Geiriadur , a'i fod yn ei ystyried yn newidyn a ddiffinnir gan y defnyddiwr, nad yw wedi'i ddiffinio'n gamgymeriad.

Nawr y cwestiwn mwyaf yw, sut i ddatrys y gwall hwn? Hawdd. Mae 2 ffordd o ddatrys y gwall hwn.

⧪ Ateb 1: Gwirio'r Cyfeirnod Rhagofyniad o Flwch Cyfeirnod y Blwch Gweledol

Dyma'r y ffordd orau i ddatrys y broblem hon. Ewch i Tools> Cyfeiriadau botwm yn y rhuban Visual Basic . Cliciwch ar Cyfeiriadau .

Bydd blwch deialog o'r enw Cyfeiriadau yn agor. Sgroliwch a darganfyddwch Microsoft Scripting Runtime (Mae hyn yn dibynnu ar y gwrthrych rydych chi'n ei ddefnyddio. Y Geiriadurgwrthrych angen Microsoft Scripting Runtime i gael ei adnabod. Felly, wrth ddefnyddio gwrthrych mewn cod VBA , rhaid i chi wybod ei ragofyniad i gael eich cydnabod gan VBA. Ewch i'r ddolen hon am ragor o wybodaeth.). Gwiriwch ef.

Nawr dewch yn ôl a rhedeg y cod. Ni chewch unrhyw wallau. Oherwydd bod VBA yn gallu adnabod y gwrthrych Geiriadur y tro hwn.

⧪ Ateb 2: Ei Ddatgan fel Gwrthrych Pur yn hytrach na Gwrthrych Penodol

Mae ffordd arall o ddatrys y broblem hon. Gallwch ddatgan y gwrthrych fel gwrthrych pur, yn hytrach na Geiriadur gwrthrych .

Sylwch ar y llinellau codau canlynol.

9933

Yma rwyf wedi datgan y newidyn FyGeiriadur fel gwrthrych syml, nid Geiriadur. Nawr os ydych yn rhedeg y cod hwn, ni chewch unrhyw wall.

Mae Hugh West yn hyfforddwr a dadansoddwr Excel hynod brofiadol gyda dros 10 mlynedd o brofiad yn y diwydiant. Mae ganddo radd Baglor mewn Cyfrifeg a Chyllid a gradd Meistr mewn Gweinyddu Busnes. Mae gan Hugh angerdd am addysgu ac mae wedi datblygu dull addysgu unigryw sy’n hawdd ei ddilyn a’i ddeall. Mae ei wybodaeth arbenigol o Excel wedi helpu miloedd o fyfyrwyr a gweithwyr proffesiynol ledled y byd i wella eu sgiliau a rhagori yn eu gyrfaoedd. Trwy ei flog, mae Hugh yn rhannu ei wybodaeth gyda’r byd, gan gynnig tiwtorialau Excel am ddim a hyfforddiant ar-lein i helpu unigolion a busnesau i gyrraedd eu llawn botensial.