Kļūdu apstrādātāji Excel makro

Kļūdu apstrādātāji ļauj norādīt, kas notiek, ja Excel makro koda darbības laikā tiek konstatēta kļūda. Kļūdu apstrādātāji ir rindas, kas līdzīgas tālāk norādītajām.

Par kļūdu GoTo MyError

Bez kļūdu apstrādātājiem jebkura kļūda, kas rodas jūsu kodā, liks programmai Excel aktivizēt mazāk noderīgu kļūdas ziņojumu, kas parasti skaidri nenorāda notikušo. Tomēr, izmantojot kļūdu apstrādātājus, varat izvēlēties ignorēt kļūdu vai graciozi iziet no koda, nosūtot savu ziņojumu lietotājam.

Ir trīs veidu paziņojumi par kļūdu:

  • Kļūdas gadījumā GoTo SomeLabel: kods pāriet uz norādīto etiķeti.

  • Kļūdas gadījumā atsākt nākamo: kļūda tiek ignorēta, un kods tiek atsākts.

  • Par kļūdu GoTo 0: VBA atiestata normālu kļūdu pārbaudes darbību.

Par kļūdu GoTo SomeLabel

Dažreiz kļūda jūsu kodā nozīmē, ka jums ir rūpīgi jāiziet no procedūras un jāsniedz lietotājiem skaidrs ziņojums. Šādās situācijās varat izmantot paziņojumu On Error GoTo, lai norādītu programmai Excel pāriet uz noteiktu koda rindiņu.

Piemēram, nākamajā nelielajā koda daļā jūs sakāt programmai Excel dalīt vērtību šūnā A1 ar vērtību šūnā A2 un pēc tam ievietot atbildi šūnā A3. Viegli. Kas varētu noiet greizi?

Apakšmakro1()
Diapazons("A3").Vērtība = diapazons("A1").Vērtība/diapazons("A2").Vērtība
Beigt apakš

Kā izrādās, divas galvenās lietas var noiet greizi. Ja šūnā A2 ir 0, tiek parādīta kļūda dalīt ar 0. Ja šūnā A2 ir vērtība, kas nav skaitliska, tiek parādīta tipa neatbilstības kļūda.

Lai izvairītos no nepatīkama kļūdas ziņojuma, varat norādīt programmai Excel, ka kļūdas gadījumā vēlaties, lai koda izpilde pārietu uz etiķeti ar nosaukumu MyExit.

Nākamajā kodā MyExit etiķetei seko ziņojums lietotājam, kas sniedz draudzīgu padomu, nevis nepatīkamu kļūdas ziņojumu. Ņemiet vērā arī Exit Sub rindiņu pirms MyExit etiķetes, kas nodrošina, ka kods vienkārši iziet, ja netiks konstatēta kļūda:

Apakšmakro1()
Kļūdas gadījumā GoTo MyExit
Diapazons("A3").Vērtība = diapazons("A1").Vērtība/diapazons("A2").Vērtība
Iziet Sub
MyExit:
MsgBox "Lūdzu, izmantojiet derīgus skaitļus, kas nav nulles"
Beigt apakš

Kļūdas gadījumā atsākt nākamo

Dažreiz jūs vēlaties, lai programma Excel ignorētu kļūdu un vienkārši atsāktu koda izpildi. Šādās situācijās varat izmantot paziņojumu par kļūdu, atsākt nākamo.

Piemēram, šī koda daļa ir paredzēta, lai izdzēstu failu ar nosaukumu GhostFile.exe no direktorijas C: Temp. Kad fails ir izdzēsts, jauks ziņojuma lodziņš informē lietotāju, ka fails ir pazudis:

Apakšmakro1()
Nogalināt "C: TempGhostFile.exe"
MsgBox "Fails ir izdzēsts."
Beigt apakš

Kods darbojas lieliski, ja patiešām ir fails, kas jādzēš. Bet, ja kāda iemesla dēļ fails ar nosaukumu GhostFile.exe neeksistē C:Temp diskdzinī, tiek parādīta kļūda.

Šajā gadījumā jums ir vienalga, vai fails tur nav, jo jūs tik un tā grasāties to dzēst. Tātad jūs varat vienkārši ignorēt kļūdu un turpināt izmantot kodu.

Izmantojot paziņojumu On Error Resume Next, kods tiek izpildīts neatkarīgi no tā, vai mērķa fails pastāv vai ne:

Apakšmakro1()
Kļūdas gadījumā atsākt nākamo
Nogalināt "C: TempGhostFile.exe"
MsgBox "Fails ir izdzēsts."
Beigt apakš

Par kļūdu GoTo 0

Izmantojot noteiktus kļūdu paziņojumus, var būt nepieciešams atiestatīt VBA kļūdu pārbaudes darbību. Lai saprastu, ko tas nozīmē, apskatiet nākamo piemēru.

Šeit vispirms vēlaties izdzēst failu ar nosaukumu GhostFile.exe no C: Temp direktorijas. Lai izvairītos no kļūdām, kas var rasties tādēļ, ka mērķa fails neeksistē, izmantojiet priekšrakstu On Error Resume Next. Pēc tam jūs mēģināt veikt kādu aizdomīgu matemātiku, dalot 100/Maiku:

Apakšmakro1()
Kļūdas gadījumā atsākt nākamo
Nogalināt "C: TempGhostFile.exe"
Diapazons ("A3"). Vērtība = 100 / "Mike"
Beigt apakš

Palaižot šo koda daļu, vajadzētu radīt kļūdu neskaidras matemātikas dēļ, taču tā nenotiek. Kāpēc? Tā kā pēdējā instrukcija, ko sniedzāt kodam, bija On Error Resume Next. Visas kļūdas, kas radušās pēc šīs rindas, faktiski tiek ignorētas.

Lai novērstu šo problēmu, varat izmantot paziņojumu On Error GoTo 0, lai atsāktu normālu kļūdu pārbaudes darbību:

Apakšmakro1()
Kļūdas gadījumā atsākt nākamo
Nogalināt "C: TempGhostFile.exe"
Par kļūdu GoTo 0
Diapazons ("A3"). Vērtība = 100 / "Mike"
Beigt apakš

Šis kods ignorēs kļūdas līdz paziņojumam On Error GoTo 0. Pēc šī paziņojuma kods atgriežas pie parastās kļūdu pārbaudes un aktivizē paredzamo kļūdu, kas izriet no neskaidras matemātikas.

Leave a Comment

Kā pārvietoties Word 2007 tabulā

Kā pārvietoties Word 2007 tabulā

Uzziniet, kā efektīvi pārvietoties Word 2007 tabulā, izmantojot īsinājumtaustiņus un peles darbības, lai optimizētu savu darba plūsmu.

10 Excel funkcijas, kas jums patiešām būtu jāzina

10 Excel funkcijas, kas jums patiešām būtu jāzina

Šajā sarakstā ir iekļautas desmit populārākās Excel funkcijas, kas attiecas uz plašu vajadzību klāstu. Uzziniet, kā izmantot <strong>Excel funkcijas</strong> efektīvāk!

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Uzziniet, kā pievienot papildu analīzes slāņus jūsu Excel diagrammām, lai uzlabotu vizualizāciju un sniegtu precīzākus datus. Šis raksts apraksta visas nepieciešamās darbības.

Kā izveidot rindkopas atkāpi programmā Word 2013

Kā izveidot rindkopas atkāpi programmā Word 2013

Uzziniet, kā iestatīt <strong>rindkopas atkāpi</strong> programmā Word 2013, lai uzlabotu dokumenta noformējumu un lasāmību.

Kā ievietot slejas Word 2010 dokumentā

Kā ievietot slejas Word 2010 dokumentā

Uzziniet, kā pareizi ievietot slejas programmā Word 2010, lai uzlabotu jūsu dokumentu formātu un struktūru.

Šūnu datu aizsardzība programmā Excel 2007

Šūnu datu aizsardzība programmā Excel 2007

Apsveriet iespēju aizsargāt Excel 2007 darblapu, lai izvairītos no neplānotām izmaiņām. Uzziniet, kā aizsargāt un atbloķēt šūnas, lai nodrošinātu datu integritāti.

PMT funkcija programmā Excel 2013

PMT funkcija programmā Excel 2013

Programmas Excel 2013 PMT funkcija aprēķina periodisko mūža rentes maksājumu. Šī funkcija ir būtiska hipotekāro kredītu maksājumu plānošanai.

Kā lietot t-test datu analīzes rīku programmā Excel

Kā lietot t-test datu analīzes rīku programmā Excel

Mācieties, kā veikt t-testus Excel programmā, izmantojot datus un aprakstot trīs t-testu veidus, kas noderēs jūsu datu analīzes procesā.

Kā filtrēt datu sarakstu programmā Excel 2016

Kā filtrēt datu sarakstu programmā Excel 2016

Uzziniet, kā filtrēt datu sarakstu programmā Excel 2016, lai ērti paslēptu nevēlamus ierakstus un strādātu tikai ar nepieciešamajiem datiem.

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Uzziniet, kā vienkārši pievienot datu etiķetes diagrammai programmā Excel 2007. Palīdziet noteikt vērtības, kas tiek rādītas katrā datu punktā, izmantojot dažādas izvietošanas un formatēšanas iespējas.