Kaip naudoti „OnError“ pareiškimą „Excel 2016 VBA“.

Kai reikia išspręsti Excel VBA klaidas, galite naudoti OnError teiginį. Tačiau pirmiausia turite žinoti keletą dalykų. Teiginį On Error galite naudoti trimis būdais.

Sintaksė Ką tai daro
Ant Error GoTo etiketės Įvykdžius šį teiginį, VBA atnaujina vykdymą
sakinyje po nurodyta etikete.
Po etiketės turite įtraukti dvitaškį , kad VBA atpažintų ją kaip etiketę.
Dėl klaidos GoTo 0 Įvykdžius šį teiginį, VBA atnaujina įprastą
klaidų tikrinimo veiklą. Naudokite šį teiginį panaudoję vieną iš
kitų teiginių On Error arba kai norite pašalinti klaidų tvarkymą
savo procedūroje.
Įvykus klaidai, tęskite toliau Įvykdžius šį teiginį, VBA tiesiog ignoruoja visas klaidas
ir atnaujina vykdymą su kitu sakiniu.

Tęsiamas po klaidos

Kai kuriais atvejais tiesiog norite, kad įvykus klaidai tvarka baigtųsi gražiai. Pavyzdžiui, galite parodyti pranešimą, aprašantį klaidą, ir baigti procedūrą. (Anksčiau pateiktame EnterSquareRoot5 pavyzdyje naudojama ši technika.) Kitais atvejais, jei įmanoma, norite ištaisyti klaidą.

Norėdami susigrąžinti klaidą, turite naudoti pareiškimą Tęsti. Tai pašalina klaidos būseną ir leidžia tęsti vykdymą tam tikroje vietoje. Tęsimo teiginį galite naudoti trimis būdais.

Sintaksė Ką tai daro
Tęsti Vykdymas atnaujinamas su pareiškimu, dėl kurio įvyko klaida. Naudokite
tai, jei jūsų klaidų apdorojimo kodas išsprendžia problemą ir
galite tęsti.
Tęsti Kitas Vykdymas atnaujinamas su pareiškimu iškart po
pareiškimo, dėl kurio įvyko klaida. Tai iš esmės ignoruoja
klaidą.
CV etiketė Vykdymas atnaujinamas pagal jūsų nurodytą etiketę .

Šiame pavyzdyje įvykus klaidai naudojamas teiginys Resume:

Sub EnterSquareRoot6()
  Dim Num kaip variantas
  Pritemdyti pranešimą kaip eilutę
  Dim Ans kaip sveikasis skaičius
Bandyk iš naujo:
' Nustatykite klaidų apdorojimą
  Įvykus klaidai GoTo BadEntry
Prašyti vertės
  Skaičius = InputBox („Įveskite reikšmę“)
  Jei Skaičius = "" Tada išeikite iš sub
' Įveskite kvadratinę šaknį
  ActiveCell.Value = kvadratas (skaičius)
  Išeiti iš sub
BadEntry:
  Msg = Klaidos numeris & ": " & Klaida (Klaidos numeris)
  Msg = Msg & vbNewLine & vbNewLine
  Msg = Msg & "Įsitikinkite, kad pasirinktas diapazonas",
  Msg = Msg & "lapas neapsaugotas",
  Msg = Msg & "ir jūs įvedate neneigiamą reikšmę."
  Msg = Msg & vbNewLine & vbNewLine & "Bandyti dar kartą?"
  Ans = MsgBox (Msg, vbYesNo + vbCritical)
  Jei Ans = vbYes, tada tęskite TryAgain
Pabaigos sub

Ši procedūra turi kitą etiketę: TryAgain. Jei įvyksta klaida, vykdymas tęsiamas BadEntry etiketėje, o kodas rodo toliau pateiktą pranešimą. Jei vartotojas atsako spustelėdamas Taip, pareiškimas Tęsti pradedamas, o vykdymas grįžta prie etiketės TryAgain. Jei vartotojas spustelėja Ne, procedūra baigiasi.

Kaip naudoti „OnError“ pareiškimą „Excel 2016 VBA“.

Jei įvyksta klaida, vartotojas gali nuspręsti, ar bandyti dar kartą.

Atkreipkite dėmesį, kad klaidos pranešime taip pat yra klaidos numeris kartu su „oficialiu“ klaidos aprašymu.

Teiginys Resume išvalo klaidos sąlygą prieš tęsiant. Norėdami tai pamatyti, ankstesniame pavyzdyje pabandykite pakeisti teiginį nuo antro iki paskutinio:

Jei Ans = vbYes, tada eikite į Bandymą dar kartą

Kodas neveikia tinkamai, jei naudojate GoTo, o ne Resume. Norėdami parodyti, įveskite neigiamą skaičių. Gaunate klaidos raginimą. Spustelėkite Taip, kad bandytumėte dar kartą, tada įveskite kitą neigiamą skaičių. Ši antroji klaida nėra užfiksuota, nes nebuvo išvalyta pradinė klaidos sąlyga.

Trumpai tariant, klaida tvarkant

Siekdami padėti jums sutvarkyti visas klaidas, pateikiame greitą ir nešvarią santrauką. Klaidų apdorojimo kodo blokas turi šias charakteristikas:

  • Jis prasideda iškart po etiketės, nurodytos sakinyje On Error.

  • Ją makrokomandos turėtų pasiekti tik įvykus klaidai. Tai reiškia, kad prieš pat etiketę turite naudoti teiginį, pvz., Exit Sub arba Exit Function.

  • Gali prireikti CV pareiškimo. Jei pasirenkate nenutraukti procedūros, kai įvyksta klaida, prieš grįždami į pagrindinį kodą turite įvykdyti teiginį Resume.

Žinojimas, kada nekreipti dėmesio į klaidas

Kai kuriais atvejais visiškai gerai ignoruoti klaidas. Tada pasirodo pranešimas On Error Resume Next.

Toliau pateiktame pavyzdyje pateikiama kilpa per kiekvieną pasirinkto diapazono langelį ir konvertuojama reikšmė į kvadratinę šaknį. Ši procedūra sukuria klaidos pranešimą, jei bet kuriame pasirinkto langelyje yra neigiamas skaičius arba tekstas:

Sub SelectionSqrt()
  Pritemdyti langelį kaip diapazoną
  Jei TipoPavadinimas(Pasirinkimas) <> „Rangas“, tada išeikite iš sub
  Kiekvienai pasirinktai ląstelei
    cell.Value = Sqr(cell.Value)
  Kita ląstelė
Pabaigos sub

Tokiu atveju galbūt norėsite tiesiog praleisti bet kurį langelį, kuriame yra reikšmė, kurios negalite konvertuoti į kvadratinę šaknį. Naudodami If-Then struktūras galite sukurti visas klaidų tikrinimo galimybes, tačiau galite sukurti geresnį (ir paprastesnį) sprendimą tiesiog ignoruodami pasitaikančias klaidas.

Tai atliekama tokia tvarka, naudojant pranešimą „On Error Resume Next“:

Sub SelectionSqrt()
  Pritemdyti langelį kaip diapazoną
  Jei TipoPavadinimas(Pasirinkimas) <> „Rangas“, tada išeikite iš sub
  Įvykus klaidai, tęskite toliau
  Kiekvienai pasirinktai ląstelei
    cell.Value = Sqr(cell.Value)
  Kita ląstelė
Pabaigos sub

Paprastai galite naudoti pranešimą On Error Resume Next, jei manote, kad klaidos yra nekenksmingos arba nesusijusios su jūsų užduotimi.

Leave a Comment

Specialiųjų simbolių įterpimas į Word 2010

Specialiųjų simbolių įterpimas į Word 2010

Kartais gali prireikti įterpti neįprastą simbolį į Word 2010 dokumentą. Perskaitykite, kaip lengvai tai padaryti su mūsų patarimais ir simbolių sąrašu.

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

„Excel 2010“ naudoja septynias logines funkcijas – IR, FALSE, IF, IFERROR, NOT, OR ir TRUE. Sužinokite, kaip naudoti šias funkcijas efektyviai.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Sužinokite, kaip paslėpti ir atskleisti stulpelius bei eilutes programoje „Excel 2016“. Šis patarimas padės sutaupyti laiko ir organizuoti savo darbalapius.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Išsamus vadovas, kaip apskaičiuoti slankiuosius vidurkius „Excel“ programoje, skirtas duomenų analizei ir orų prognozėms.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Sužinokite, kaip efektyviai nukopijuoti formules Excel 2016 programoje naudojant automatinio pildymo funkciją, kad pagreitintumėte darbo eigą.

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Galite pabrėžti pasirinktus langelius „Excel 2010“ darbalapyje pakeisdami užpildymo spalvą arba pritaikydami ląstelėms šabloną ar gradiento efektą.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Dirbdami su laiko kortelėmis ir planuodami programą „Excel“, dažnai pravartu lengvai nustatyti bet kokias datas, kurios patenka į savaitgalius. Šiame straipsnyje pateikiami žingsniai, kaip naudoti sąlyginį formatavimą.

Kaip sukurti diagramas „Office 365“.

Kaip sukurti diagramas „Office 365“.

Sužinokite, kaip sukurti diagramas „Word“, „Excel“ ir „PowerPoint“ programose „Office 365“. Daugiau informacijos rasite LuckyTemplates.com.

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

„Excel“ suvestinės lentelės leidžia kurti <strong>pasirinktinius skaičiavimus</strong>, įtraukiant daug pusiau standartinių skaičiavimų. Šiame straipsnyje pateiksiu detalius nurodymus, kaip efektyviai naudoti šią funkciją.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Nesvarbu, ar dievinate, ar nekenčiate Word gebėjimo išjuokti jūsų kalbos gebėjimus, jūs turite galutinį sprendimą. Yra daug nustatymų ir parinkčių, leidžiančių valdyti „Word“ rašybos ir gramatikos tikrinimo įrankius.