Johdanto Debug.Print- ja MsgBox-toimintoihin
Pyyhkäise näyttääksesi valikon
Molemmat mahdollistavat arvon tarkastelun koodin suorittamisen aikana, mutta ne on suunniteltu eri kohderyhmille, ja niiden sekoittaminen on yleinen alkuvaiheen tapa, joka kannattaa tietoisesti korjata.
Debug.Print
Debug.Print [outputlist]
outputlist— yksi tai useampi tulostettava lauseke, jotka voidaan yhdistää;tai&avulla;- Ei sulkuja, ei paluuarvoa — kyseessä on lause, ei funktio;
- Kirjoittaa aina Välitön-ikkunaan.
Debug.Print total ' one value
Debug.Print "Total: "; total ' semicolon — adds a space between items
Debug.Print "Total: " & total' & — concatenates with no extra space
MsgBox
MsgBox(prompt, [buttons], [title], [helpfile], [context])
MsgBox "Done." ' statement form — no parentheses needed
result = MsgBox("Continue?", vbYesNo, "Confirm") ' function form — parentheses required
Sulkeita MsgBox-funktion argumenttien ympärillä käytetään vain, kun palautusarvo tallennetaan muuttujaan. Kun käytät MsgBoxia pelkkänä lauseena (ilman sijoitusta), sulkeet ovat itse asiassa virhe — MsgBox("Done.") toimii edelleen, mutta jos lisäät toisen argumentin ilman sijoitusta, MsgBox ("Continue?", vbYesNo) aiheuttaa syntaksivirheen. Jätä sulkeet pois lausemuodossa, lisää ne vain, kun kirjoitat result = MsgBox(...).
Mitä kukin oikeastaan tekee
Yksinkertainen testi: kysy, kenelle viesti oikeastaan on tarkoitettu. Jos vastaus on "minulle, kun kirjoitan ja testaan tätä koodia", käytä Debug.Print — sen jättäminen tilapäisesti ei maksa mitään eikä sen poistaminen myöhemmin, koska se ei koskaan näy valmiin työkirjan käyttäjille. Jos vastaus on "henkilölle, joka suorittaa tämän makron juuri nyt ja jonka täytyy nähdä tämä", käytä MsgBox — vahvistusikkunat tai "valmis"-viestit kuuluvat tähän kategoriaan, koska ne ovat osa lopullista käyttökokemusta eivätkä vain virheenkorjauksen apuvälineitä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme