Denna handledning lär dig hur du använder Är Numerisk och IsNumber fungerar i VBA för att kontrollera om värdena är tal.
IsNumeric är en inbyggd VBA-funktion, medan IsNumber är en Excel-funktion som kan anropas från VBA-kod.
Skillnad mellan IsNumber och IsNumeric i VBA
IsNumber kontrollerar om ett värde lagras som ett nummer. Medan IsNumeric kontrollerar om ett värde kan konverteras till ett tal.
Om du till exempel skickar en tom cell som parameter returnerar IsNumber FALSE medan IsNumeric returnerar TRUE. Om du också skickar en cell som innehåller nummer som lagrats som en text returnerar IsNumber FALSE och IsNumeric TRUE.
Du måste uppmärksamma dessa begränsningar för båda funktionerna och bestämma i vilka fall det är bättre att använda IsNumeric och när IsNumber.
Använda IsNumeric i VBA
Är Numerisk är VBA -funktionen som kontrollerar om ett värde är numeriskt och returnerar ett booleskt SANT eller FALSKT som resultat.
Funktionen kan ta en variabel eller ett cellvärde.
Här är ett exempel på att ta ett cellvärde:
12345 | If IsNumeric (Sheet1.Range ("A1"). Value) = True ThenMsgBox "Värdet i A1 är numeriskt"AnnanMsgBox "Värdet i A1 är inte numeriskt"Avsluta om |
I det här exemplet kontrollerar vi om värdet från cellen A1 är numeriskt med hjälp av IsNumeric. Denna funktion returnerar lämpligt meddelande, beroende på resultatet av funktionen.
Detta nästa exempel utför samma operation, förutom med en variabel istället för ett cellvärde:
123456789 | Dim n som variantn = Sheet1.Range ("A1"). VärdeOm IsNumeric (n) = True dåMsgBox "Värdet i A1 är numeriskt"AnnanMsgBox "Värdet i A1 är inte numeriskt"Avsluta om |
Använda IsNumber i VBA
IsNumber är en Excel -funktion som kan användas i VBA. Den har en nästan liknande produktion som IsNumeric. Låt oss titta på exemplet på IsNumber -funktionen:
123456789 | If Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True ThenMsgBox "Värdet i A1 är numeriskt"AnnanMsgBox "Värdet i A1 är inte numeriskt"Avsluta om |
Som du kan se från koden är skillnaden i syntaxen när funktionen anropas. Eftersom IsNumber är Excel -funktionen måste vi sätta Application.WorksheetFunction före funktionssamtalet.