Brug af Isnumeric og Isnumber i VBA

Denne vejledning lærer dig, hvordan du bruger Er Numerisk og ErNummer funktioner i VBA for at kontrollere, om værdier er tal.

IsNumeric er en indbygget VBA-funktion, mens IsNumber er en Excel-funktion, der kan kaldes fra VBA-kode.

Forskel mellem IsNumber og IsNumeric i VBA

IsNumber kontrollerer, om en værdi er gemt som et tal. Hvorimod kontrollerer IsNumeric, om en værdi kan konverteres til et tal.

Hvis du f.eks. Sender en tom celle som parameter, returnerer IsNumber FALSKT, mens IsNumeric returnerer SAND. Hvis du også sender en celle, der indeholder nummer, der er gemt som en tekst, returnerer IsNumber FALSE og IsNumeric TRUE.

Du skal være opmærksom på disse begrænsninger i begge funktioner og beslutte, i hvilke tilfælde det er bedre at bruge IsNumeric, og hvornår IsNumber.

Brug af IsNumeric i VBA

Er Numerisk er VBA -funktionen, som kontrollerer, om en værdi er numerisk og returnerer en boolsk SAND eller FALSK som resultat.

Funktionen kan tage en variabel eller en celleværdi.

Her er et eksempel på at tage en celleværdi:

12345 Hvis IsNumeric (Sheet1.Range ("A1"). Værdi) = True ThenMsgBox "Værdien i A1 er numerisk"AndetMsgBox "Værdien i A1 er ikke numerisk"Afslut Hvis

I dette eksempel kontrollerer vi, om værdien fra cellen A1 er numerisk ved hjælp af IsNumeric. Denne funktion returnerer den relevante meddelelse, afhængigt af resultatet af funktionen.

Dette næste eksempel udfører den samme operation, undtagen med en variabel i stedet for en celleværdi:

123456789 Dim n som variantn = Ark1.Rækkevidde ("A1"). VærdiHvis IsNumeric (n) = True derefterMsgBox "Værdien i A1 er numerisk"AndetMsgBox "Værdien i A1 er ikke numerisk"Afslut Hvis

Brug af IsNumber i VBA

ErNummer er en Excel -funktion, som kan bruges i VBA. Det har en næsten lignende output som IsNumeric. Lad os se på eksemplet på IsNumber -funktionen:

123456789 Hvis Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Værdi) = True ThenMsgBox "Værdien i A1 er numerisk"AndetMsgBox "Værdien i A1 er ikke numerisk"Afslut Hvis

Som du kan se fra koden, er forskellen i syntaksen, når funktionen kaldes. Da IsNumber er Excel -funktionen, skal vi sætte Application.WorksheetFunktion før funktionsopkaldet.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave