Använda Isnumeric och Isnumber i VBA

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.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave