Šioje pamokoje bus paaiškinta, ką reiškia VBA kompiliavimo klaida ir kaip ji atsiranda.
Prieš paleisdamas kodą, VBA redaktorius surenka kodą. Tai iš esmės reiškia, kad VBA išnagrinėja jūsų kodą, kad įsitikintų, jog yra visi reikalavimai, kad jis būtų tinkamai paleistas - ji patikrins, ar visi kintamieji yra deklaruoti (jei naudojate „Option Explicit“, kurį turėtumėte!), Patikrinkite, ar visos procedūros yra deklaruotos , patikrinkite kilpas ir sakinius ir pan. Sudarydamas kodą, VBA padeda sumažinti bet kokias vykdymo laiko klaidas.
(Daugiau informacijos apie VBA klaidas rasite mūsų klaidų tvarkymo vadove)
Nedeklaruoti kintamieji
Jei nedeklaruojate kintamųjų, bet jūsų parinkčių aiškusis yra įjungtas modulio viršuje ir tada paleidžiate makrokomandą, įvyks kompiliavimo klaida.
Jei spustelėsite Gerai, atitinkama procedūra pereis į derinimo režimą.
Arba prieš paleisdami kodą galite priversti jį surinkti.
Viduje konors Meniu, pasirinkite Derinti> Kompiliuoti projektą.
Kompiliatorius suras visas kompiliavimo klaidas ir atitinkamai paryškins pirmąją.
Nedeklaruotos procedūros
Jei kodas nurodo procedūrą, kurios nėra, taip pat gausite kompiliavimo klaidą.
Pavyzdžiui:
1234 | Papildomas skambutisProcedure ()'tada čia kažkoks kodasSkambinkite „NextProcedure“Pabaiga Sub |
Tačiau jei procedūra - KitasProcedūra nėra, tada įvyks kompiliavimo klaida.
Neteisingas kodavimas - numatoma pareiškimo pabaiga
Jei sukuriate kilpą naudodami Dėl … Kiekvienas … Kitas arba Su… Pabaigti ir pamiršti ir Kitas arba Pabaiga su… taip pat gausite kompiliavimo klaidą.
123456 | Papildoma kompiliavimo klaida ()Dim wb Kaip darbo knygaDim ws kaip darbalapisUž kiekvieną ws In wbMsgBox ws.PavadinimasPabaiga Sub |
Tas pats atsitiks su „If“ teiginiu, jei praleista „End If“!
Trūksta nuorodų
Jei naudojate objektų biblioteką, kuri nėra „Excel“ dalis, bet naudojate kintamosios deklaracijos bibliotekos objektus, taip pat gausite kompiliavimo klaidą.
Tai gali būti išspręsta naudojant Late Binding - deklaruojant kintamuosius Objektai; arba pridėjus atitinkamą Objektų biblioteka prie Projekto.
Viduje konors Meniu, pasirinkite Įrankiai> Nuorodos ir pridėkite atitinkamą objektų biblioteką prie savo projekto.