Tabl cynnwys
Yn Microsoft Excel VBA, mae trin gwallau yn un o'r tasgau hollbwysig. Os ydych chi'n godiwr, rydych chi'n gwybod pwysigrwydd trin gwallau i adeiladu cymhwysiad perffaith. Gall unrhyw gamgymeriad mewn datganiad amharu ar eich cod VBA mewn llawer o ffyrdd. Felly, rhaid i chi fod yn ofalus i drin y gwallau hynny wrth weithredu cod VBA. Mae yna lawer o wallau amser rhedeg y gallwch chi eu hwynebu wrth ddefnyddio'r cod VBA yn Excel. I ddatrys un ohonynt, rydym yn defnyddio'r datganiad Ar Gwall Ail-ddechrau Nesaf .
Yn y tiwtorial hwn, byddwch yn dysgu defnyddio'r datganiad Ar Gwall Ail-ddechrau Nesaf yn Excel VBA. Bydd y tiwtorial hwn yn brydlon gydag enghreifftiau addas a darluniau cywir. Felly, arhoswch gyda ni.
Lawrlwythwch Lyfr Gwaith Ymarfer
VBA Ar Gwall Ail-ddechrau Next.xlsm
Trin Gwallau yn Excel VBA
Wrth weithio gyda Microsoft Excel VBA, byddwch yn wynebu llawer o wallau yn eich is-weithdrefn. Pan na all VBA weithredu datganiad, mae'n taflu gwall amser rhedeg.
Mae Excel yn delio â'r gwallau hyn yn awtomatig, felly pan ddaw gwall amser rhedeg i'r amlwg, mae'n dangos neges gwall rhagosodedig fel y canlynol:
Nawr, gallwch ymdrin â'r rhain yn amrywiol gyda rhai datganiadau VBA. Byddaf yn eu trafod mewn adrannau diweddarach.
Darllen Mwy: Sut i drwsio #REF! Gwall yn Excel (6 Ateb)
Ar Ddatganiadau Gwall yn VBA
I drin gwallau amser rhedeg, rydym yn cyfarwyddo Excel gyda'r datganiad Ar Gwall. Mae'n penderfynuo NAME Gwall yn Excel (10 Enghreifftiau)
💬 Pethau i'w Cofio
✎ Ar Gwall Resume Next nid yw'n trwsio'r gwallau. Yn y bôn mae'n anwybyddu'r gwall ac yn mynd ymlaen i'r datganiad nesaf.
✎ Mae Excel yn trapio ac yn storio'r gwallau amser rhedeg yn Err object. Pan ddefnyddiwn y datganiad Ar Gwall Ail-ddechrau Nesaf , mae'n clirio priodweddau'r gwrthrych Error.
✎ Gallwch ddiffodd y Ar Gwall Ail-ddechrau Nesaf datganiad yn eich cod VBA yn Excel trwy ychwanegu'r datganiad Ar Gwall GoTo 0 .
Casgliad
I gloi, rwy'n gobeithio bod y tiwtorial hwn wedi rhoi darn defnyddiol i chi gwybodaeth i ddefnyddio'r Ar Gwall Ail-ddechrau Nesaf yn Excel VBA. Rwy'n argymell eich bod yn dysgu ac yn cymhwyso'r holl gyfarwyddiadau hyn i'ch set ddata. Lawrlwythwch y gweithlyfr ymarfer a rhowch gynnig ar y rhain eich hun. Hefyd, mae croeso i chi roi adborth yn yr adran sylwadau. Mae eich adborth gwerthfawr yn ein cadw'n gymhellol i greu tiwtorialau fel hyn.
Peidiwch ag anghofio edrych ar ein gwefan Exceldemy.com am wahanol broblemau ac atebion sy'n ymwneud ag Excel.
Daliwch ati i ddysgu dulliau newydd a daliwch ati i dyfu!
pa fath o weithrediadau yr ydym am eu gwneud nesaf ar unwaith. Yn y bôn, rydym yn analluogi'r gwallau hyn trwy drin y mathau hyn o wallau.Rydym yn defnyddio tri math o ddatganiadau Ar Gwall (cystrawen) yn Excel VBA.
- 1>Ar Gwall GoTo llinell
- Ar Gwall Ail-ddechrau Nesaf
- Ar Gwall GoTo 0
Pan fyddwch yn dod o hyd i wall, defnyddiwch y gorchymyn Ar Gwall. Oherwydd os na ddefnyddiwch ddatganiad Ar Gwall , bydd y gwallau amser rhedeg hynny yn drychinebus. Bydd yn dangos anogwr gwall ac yn atal y gweithredu.
Pan fyddwn yn defnyddio datganiad Gwall Ar , rydym yn troi triniwr gwall "wedi'i alluogi" ymlaen. Mae'r triniwr gwall "gweithredol" yn driniwr wedi'i alluogi sy'n cychwyn y gweithrediad trin gwallau. Os bydd camgymeriad yn codi tra bod triniwr gwall yn gysylltiedig, ni all triniwr gwallau'r dull presennol ddioddef y gwall. Ar ôl hynny, mae'r rheolydd yn dychwelyd i'r drefn alw.
Os oes gan y broses alw ddeilydd gwall wedi'i alluogi, mae'n cael ei sbarduno i reoli'r gwall. Os yw triniwr gwallau eich system alwadau wedi'i ymgysylltu'n gyfatebol, mae'r rheolaeth yn rhoi yn ôl trwy weithdrefnau galw cynharach nes iddo ddod o hyd i driniwr gwall wedi'i alluogi ond anactif. Os na all ddod o hyd i unrhyw driniwr gwall segur wedi'i alluogi, mae hyn yn golygu bod y gwall yn drychinebus yn ei bwynt digwydd.
Bob tro y bydd y sawl sy'n trin y gwall yn rhoi awdurdod yn ôl i weithdrefn alw, mae'r weithdrefn honno'n esblygu'r weithdrefn bresennol. Mae gweithredu yn ailgychwyn yn yy drefn bresennol ar hyn o bryd a ddewisir gan y datganiad Ail-ddechrau pan fydd triniwr gwall yn trin gwallau mewn unrhyw weithdrefn.
'Ar Gwall Ail-ddechrau Nesaf' yn VBA
Nawr, mae'r Ar Gwall Ail-ddechrau Nesaf Mae datganiad yn dweud wrth VBA i anwybyddu unrhyw linellau o god sydd â gwallau, a symud ymlaen yn syth i'r llinell cod ganlynol. Ar ôl hynny, bydd y codau Excel VBA yn hepgor y llinell neu'r llinellau sy'n cynnwys gwallau ynddynt, ac yn symud ymlaen i'r dilyniant cod canlynol. ailddechrau gyda'r gorchymyn ar unwaith gan ddilyn y llinell o godau a ysgogodd y gwall amser rhedeg. Mae'r datganiad hwn yn caniatáu i weithred hepgor hyd yn oed os oes gwall amser rhedeg. Os credwch y gall llinell benodol o god greu gwall, rhowch y drefn trin gwallau yno yn hytrach na'i rhoi mewn lleoliad arall o fewn y weithdrefn. Daw'r datganiad Ar Gwall Ail-ddechrau Nesaf yn segur pan fydd eich cod yn galw gweithdrefn arall. Felly, pan fydd angen trin gwall cyfatebol arnoch yn y drefn honno, mae'n rhaid i chi redeg gorchymyn Ar Gwall Ail-ddechrau Nesaf ym mhob patrwm a enwir.
Mae'n rhesymol pan fydd llinell y cod y byddwch can skip nid oes angen i redeg llewyrchus y macro. Ond cofiwch, gall fod yn niweidiol os ydych chi'n ei ddefnyddio'n anghywir gan y gallai roi canlyniadau anfwriadol.
Cofiwch:
The On Gwall Ail-ddechrau Nid yw'r datganiad nesaf yn gwneud hynnytrwsio'r gwallau amser rhedeg. Yn y bôn mae'n anwybyddu'r gwallau lle bydd eich gweithrediad VB yn ailddechrau o'r datganiad sydd wedi creu'r gwall amser rhedeg.
Edrychwch ar y cod canlynol:
3375
Ceisiasom rannu 5 gyda 0 ac 1. Gadewch i ni redeg y cod. Bydd yn dangos yr allbwn canlynol:
Mae'n cynhyrchu gwall amser rhedeg. Ni allwn rannu rhif â 0. Pan fyddwch yn dadfygio'r cod, fe welwch y canlynol:
Pan fydd rhaglen VB yn canfod gwall, mae'n atal y drefn ar unwaith. Nid yw'n gweithredu'r llinell ganlynol.
Nawr, gadewch i ni weithredu'r datganiad Ar Gwall Ail-ddechrau Nesaf cyn y datganiad gwall:
4321
Ar ôl rhedeg y cod, byddwch yn gweler y canlynol:
Fel y gwelwch, mae VBA yn anwybyddu'r llinell sy'n cynhyrchu'r gwall ac yn mynd yn syth ymlaen i'r llinell god ganlynol. Yn y modd hwn, gallwch ddefnyddio'r datganiad Ar Gwall Ail-ddechrau Nesaf i drin y gwall yn Excel VBA.
Enghreifftiau o 'Ar Gwall Ail-ddechrau Nesaf' yn VBA
Yn yr adrannau canlynol, rydw i'n mynd i roi dwy enghraifft i chi o'r datganiad On Error Resume Next y gallwch chi ei roi ar waith yn eich taflen waith Excel gan ddefnyddio VBA. Rwy'n argymell eich bod yn dysgu ac yn cymhwyso'r rhain i gyd i'ch llyfr gwaith. Bydd yn bendant yn cynyddu eich gwybodaeth Excel.
1. Datganiad 'Ar Gwall Ail-ddechrau Nesaf' i Guddio Taflenni Gwaith
Nawr, yn yr enghraifft hon, byddaf yn dangos cod VBA i chi sy'nyn cuddio holl daflenni gwaith eich llyfr gwaith gweithredol.
Edrychwch ar y sgrinlun canlynol:
Yma, mae gennym bedair taflen waith. Byddwn yn cuddio pob un ohonynt gan ddefnyddio'r cod VBA canlynol:
5426
Pan fyddwch yn gweithredu'r cod canlynol, fe welwch y gwall amser rhedeg canlynol:
> Mae Excel yn dangos y gwall hwn oherwydd ni allwch guddio'r holl daflenni mewn llyfr gwaith. Felly, mae'n rhaid i chi anwybyddu'r gwall. I wneud hyn, mae'n rhaid i chi weithredu'r datganiad Ar Gwall Ail-ddechrau Nesaf yn eich llinell cod.
9350
Ar ôl cwblhau gweithredu'r cod VBA, fe welwch yr allbwn canlynol:
Yn y diwedd, ni fyddwch yn gweld unrhyw wallau ar ôl gweithredu. Felly, gweithiodd ein datganiad Ar Gwall Ail-ddechrau Nesaf yn iawn iawn yn y cod VBA.
Darllen Mwy: Gwallau yn Excel a'u Hystyr (15 Gwall Gwahanol) <3
2. Swyddogaeth VLOOKUP gyda 'Ar Gwall Ail-ddechrau Nesaf' yn VBA
Yn yr enghraifft hon, byddaf yn dangos enghraifft o swyddogaeth VLOOKUP yn VBA . Nawr, mae'r cod VBA hwn hefyd yn cynnwys y datganiad Ar Gwall Ail-ddechrau Nesaf .
Edrychwch ar y sgrinlun canlynol:
Yma , gallwch weld enwau rhai pobl a'u hoedran. Yn y tabl cyfagos, byddwn yn defnyddio'r VLOOKUP i ddod o hyd i enw ac oedran y person.
Teipiwch y cod canlynol i wneud hyn:
4298
Nawr, rhedwch y macro . Fe welwch y gwall canlynol:
Nawr, mae hwn yn amser rhedeggwall. Pam mae'n digwydd? Cymerwch olwg eto ar y set ddata:
Fel y gwelwch, nid oes data ar gyfer “Aaron” ac “Emma”. Dyna pam ei fod ond yn gweithredu'r VLOOKUP ar gyfer y cofnod cyntaf. Ar ôl hynny, mae'n atal y gweithredu. Nawr, os ydych am anwybyddu'r gwall a symud ymlaen i ddod o hyd i weddill yr oesoedd, defnyddiwch y datganiad Ar Gwall Ail-ddechrau Nesaf .
6031
Ar ôl rhedeg y cod VBA, fe welwch y allbwn canlynol:
Fel y gwelwch, drwy gymhwyso'r gorchymyn Ar Gwall Ail-ddechrau Nesaf , fe wnaethom anwybyddu'r gwall a dod o hyd i weddill y personau' oesoedd. Ni ddaeth ein cod VBA o hyd i unrhyw ddata am Aaron ac Emma. Dyna pam ei fod wedi anwybyddu'r gwerthoedd hynny a dychwelyd gweddill y gwerthoedd yn y daflen waith Excel.
Darllen Mwy: [Sefydlog] Excel Wedi dod o hyd i Broblem gydag Un neu Fwy o Gyfeirnodau Fformiwla yn y Daflen Waith Hon 3>
Diffodd 'Ar Gwall Ail-ddechrau Nesaf' gydag Excel VBA
Nawr, efallai eich bod mewn sefyllfa lle rydych chi am anwybyddu gwallau ar gyfer rhan benodol o'r cod VBA. Cofiwch, os ydych chi'n defnyddio'r datganiad On Error Resume Next mewn cod VBA, bydd yn hepgor yr holl wallau ar ôl hynny. Nawr, os ydych chi am ddiffodd hynny a galluogi trin gwall ar gyfer segment arall, defnyddiwch Ar Gwall GoTo 0 . Bydd yn galluogi trin gwallau eto.
Defnydd generig:
Is-wall_handling()
I anwybyddu gwallau
Ar Gwall Ail-ddechrau Nesaf
// llinellau codau
Itrowch drin gwall ymlaen
Ar Gwall GoTo 0
//lines of codes
Diwedd sub
Edrychwch ar y yn dilyn cod VBA:
4334
Defnyddiasom y cod yn flaenorol ar gyfer y swyddogaeth VLOOKUP . Yma ychwanegwyd darn ychwanegol o god i ddangos i chi. Bydd ein cod yn anwybyddu'r gwallau wrth berfformio'r VLOOKUP ond bydd yn actifadu'r ymdriniaeth gwall ar ôl y datganiad Ar Gwall GoTo 0 .
0> Darllen Mwy: Excel VBA: Diffoddwch y “Ar Gwall Ail-ddechrau Nesaf”
VBA 'Ar Gwall GoTo'
Trafodais yn flaenorol trin y gwallau gan ddefnyddio'r dull Ar Gwall. Roedd ein herthygl gyfan yn ymwneud â Ar Error Resume Next. Nawr, mae dau fath o drin gwallau hefyd y byddaf yn eu trafod yn yr adrannau canlynol.
1. VBA Ar Gwall GoTo 0
Y Ar Gwall Goto 0 datganiad yw gosodiad mewnol Excel os nad oes gan eich codau driniwr gwallau ynddynt. Yn y bôn mae'n awgrymu, pan fydd VBA yn dod o hyd i wall gyda Ar Gwall GoTo 0 , y bydd yn atal rhedeg y cod ac yn dangos ei flwch neges gwall traddodiadol.
Ar Gwall GoTo 0 datganiad yn y bôn yn diffodd y gwall trin yn y weithdrefn bresennol. Nid yw'n diffinio llinell 0 fel dechrau'r cod trin gwall, hyd yn oed os yw'r dull yn ymgorffori llinell wedi'i rhifo 0.
Edrychwch ar y cod canlynol:
5383
Mae gennym ni dangoswyd y cod hwn i chi eisoes. Yn y bôn, mae'r cod hwn yn cuddio'r holl daflenni gwaithyn eich llyfr gwaith cyfredol. Nawr, yn wir mae gen i ddarn ychwanegol o god gyda On Error GoTo 0 i ddangos y gwall. Os ydych yn rhedeg y cod, fe welwch y canlynol:
Mae'n dangos y gwall hwn oherwydd ni allwn gael dalennau gyda'r un enw yn y llyfr gwaith gweithredol.
2. VBA Ar linell GoTo Gwall
Nawr, gallwch hefyd gyfarwyddo Excel i redeg segment arall o god os bydd yn dod o hyd i unrhyw wall trwy ddefnyddio'r llinell Ar Gwall GoTo . Mae'n dweud wrth Excel am weithredu rhywbeth ar ôl dod o hyd i wall.
Y ddadl llinell yw unrhyw dag llinell neu rif llinell. Os yw ein cod yn achosi unrhyw wall amser rhedeg, bydd yn symud i'r llinell, gan achosi'r triniwr gwall yn weithredol yn y gweithrediad. Cofiwch, rhaid i'ch llinell ddiffiniedig fod yn yr union weithdrefn fel y datganiad Ar Gwall; fel arall, bydd yn achosi gwall crynhoi.
Edrychwch ar y cod canlynol:
3653
Gwelsoch chi'r cod yn yr enghraifft flaenorol. Pan wnaethom ddefnyddio Ar Gwall GoTo 0 , fe achosodd wall. Ond, dyma ni wedi disodli hwnnw gyda'r datganiad llinell Ar Error GoTo.
Nawr, rhedwch y cod ac fe welwch y canlynol:
Fel y gallwch weld, nid yw'n dangos y blwch deialog gwall safonol i ni. Yn lle hynny, mae'n dangos y blwch neges personol a grëwyd gennym yn y segment error_handler . Pan fydd Excel yn dod o hyd i unrhyw wall, mae'n neidio i'r segment error_handler ac yn dangos y blwch neges i ni.
Rydym hefyd wedi defnyddio Exit Sub yn y drefn.Os nad oes unrhyw ddalen o'r enw “ VLOOKUP “, bydd ein cod VBA yn ailenwi'r ddalen weithredol. Yna, mae'n rhaid i ni orffen y gweithrediad yma oherwydd nid oes angen i ni gario ymlaen i'r triniwr gwall ac arddangos y blwch neges.
VBA 'Ar Gwall' Ddim yn Gweithio yn Excel
Weithiau, ni waeth pa mor galed y ceisiwch, ni fydd y dull Ar Gwall yn gweithio. Yn flaenorol, fe wnaethom weithredu'r dull Ar Gwall i drin y gwallau. Ond, weithiau bydd yn dangos gwallau hyd yn oed os ydych chi'n defnyddio Ar Gwall Ail-ddechrau Nesaf neu Ar Gwall GoTo 0 . Efallai bod nifer o resymau yn eich cod y mae'n rhaid i chi eu trwsio. Nid wyf yn mynd i ddangos hynny i chi.
Y rheswm sylfaenol dros VBA ' Ar Gwall' Peidio â Gweithio yn Excel yw troi'r opsiwn “Torri ar Bob Gwall” ymlaen yn Excel.<3
Dilynwch y camau hyn i ddatrys hynny:
📌 Camau
- Yn gyntaf, pwyswch Alt+F11 ar eich bysellfwrdd i agor y golygydd VBA.
- Nawr, cliciwch ar Tools > Opsiwn blwch.
- Yma, gallwch weld, “ Torri ar Bob Gwall ” wedi ei wirio eisoes. Yn y bôn mae'n eich atal rhag trin y gwallau.
- I'w newid, dewiswch yr opsiwn " Torri ar Gwallau Heb eu Trin " a chliciwch ar OK . <14
Rwy'n gobeithio y bydd yn trwsio'ch problem o VBA “Ar Gwall” ddim yn gweithio yn Excel.
Darllen Mwy: Rhesymau a Chywiriadau