VBA kompiliavimo klaida

Š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.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave