De typ felaktigt fel i Excel VBA inträffar när du försöker tilldela ett värde till en variabel som inte är av rätt typ.
Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:
Dim nummer Som heltal
nummer = "cykel"
Resultat när du klickar på kommandoknappen på arket:
Förklaring: du kan inte tilldela ett strängvärde (cykel) till en variabel av typen heltal.
Typmatchningsfelet (driftstidsfel 13) uppstår ofta när du använder InputBox-funktionen i Excel VBA.
1. Lägg en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:
Dim nummer Som heltal
number = InputBox ("Ange ett nummer", "Square Root")
MsgBox "Kvadratroten för" & nummer & "är" & Sqr (antal)
2. Klicka på kommandoknappen på arket, ange strängvärdet hundra och klicka på OK.
Resultat:
3. Clik End.
4. För att visa ett vänligt meddelande istället för typ felaktigt fel, uppdatera koden enligt följande.
Dim nummer Som variant
number = InputBox ("Ange ett nummer", "Square Root")
Om IsNumeric (nummer) Då
MsgBox "Kvadratroten för" & nummer & "är" & Sqr (antal)
Annan
MsgBox "Vänligen ange ett nummer"
Avsluta om
Förklaring: en variabel av typen Variant kan hålla vilken typ av värde som helst (se första raden). IsNumeric -funktionen i Excel VBA kontrollerar om ett värde är ett tal.
5. Upprepa steg 2.
Resultat:
6. Kontrollera slutligen om den här enkla kvadratrotkalkylatorn fungerar.
Resultat:
Tips: ladda ner Excel -filen (höger sida av den här sidan) och prova.