Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Testing for numeric value in VBA
I am trying to test a variable to determine if it is numeric
I typed the following in the immediate window: mvar = 4 ? isnumber(mvar) Result: Sub or Function not defined. In the program, I typed: Dim mvar as String mvar = "5" Application.WorksheetFunction.IsNumber(mvar) Result: False mvar = "A" Application.WorksheetFunction.IsNumber(mvar) Result: False Shouldn' t the test return true for 5. How can I test to determine if the value is a number without checking if it is 0,1,2,3 etc. ? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Testing for numeric value in VBA
Try Isnumeric( )
Steve "rmcompute" wrote in message ... I am trying to test a variable to determine if it is numeric I typed the following in the immediate window: mvar = 4 ? isnumber(mvar) Result: Sub or Function not defined. In the program, I typed: Dim mvar as String mvar = "5" Application.WorksheetFunction.IsNumber(mvar) Result: False mvar = "A" Application.WorksheetFunction.IsNumber(mvar) Result: False Shouldn' t the test return true for 5. How can I test to determine if the value is a number without checking if it is 0,1,2,3 etc. ? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Testing for numeric value in VBA
On Sat, 4 Feb 2006 12:24:02 -0800, rmcompute
wrote: I am trying to test a variable to determine if it is numeric I typed the following in the immediate window: mvar = 4 ? isnumber(mvar) Result: Sub or Function not defined. In the program, I typed: Dim mvar as String mvar = "5" Application.WorksheetFunction.IsNumber(mvar) Result: False mvar = "A" Application.WorksheetFunction.IsNumber(mvar) Result: False Shouldn' t the test return true for 5. How can I test to determine if the value is a number without checking if it is 0,1,2,3 etc. ? The IsNumber worksheet function tests whether a value IS a number. In your case, although the value can be evaluated as a number, since you have enclosed it within double quotes, it IS a string. The VBA IsNumeric function tests whether an expression can be EVALUATED as a number. Perhaps that is what you want. This Sub may help you to see the differences: ===================== Option Explicit Sub foo() Const myvar1 = "1" Const myvar2 = 1 Debug.Print IsNumeric(myvar1) 'True Debug.Print IsNumeric(myvar2) 'True Debug.Print Application.WorksheetFunction.IsNumber(myvar1) 'False Debug.Print Application.WorksheetFunction.IsNumber(myvar2) 'False End Sub ====================== --ron |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Testing for numeric value in VBA
A string containing digits is not a number. IsNumber wil return FALSE for :
1. text strings 2. blanks 3. errors 4. Booleans (logicals) even though TRUE is 1, IsNumber(TRUE) is false!! 5. references Use the function and believe what it tells you. -- Gary''s Student "rmcompute" wrote: I am trying to test a variable to determine if it is numeric I typed the following in the immediate window: mvar = 4 ? isnumber(mvar) Result: Sub or Function not defined. In the program, I typed: Dim mvar as String mvar = "5" Application.WorksheetFunction.IsNumber(mvar) Result: False mvar = "A" Application.WorksheetFunction.IsNumber(mvar) Result: False Shouldn' t the test return true for 5. How can I test to determine if the value is a number without checking if it is 0,1,2,3 etc. ? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Find and Return Numeric Label based on (Numeric Value) Criterion | Excel Worksheet Functions | |||
Find Numeric Criterion in Column & Return the Numeric Value from Row above | Excel Worksheet Functions | |||
Numeric in Text to convert back to the form of Numeric for VLookup Purposes | Excel Discussion (Misc queries) | |||
Match Single Numeric Criteria and Return Multiple Numeric Labels | Excel Worksheet Functions | |||
Match Single Numeric Criteria and Return Multiple Numeric Labels | Excel Worksheet Functions |