Is VarType what you need?
Returns a value indicating the subtype of a variable.
+--------------+-------+---------------------------------------------+
| Constant | Value | Description |
+--------------+-------+---------------------------------------------+
| vbEmpty | 0 | Empty (uninitialized) |
| vbNull | 1 | Null (no valid data) |
| vbInteger | 2 | Integer |
| vbLong | 3 | Long integer |
| vbSingle | 4 | Single-precision floating-point number |
| vbDouble | 5 | Double-precision floating-point number |
| vbCurrency | 6 | Currency |
| vbDate | 7 | Date |
| vbString | 8 | String |
| vbObject | 9 | Automation object |
| vbError | 10 | Error |
| vbBoolean | 11 | Boolean |
| vbVariant | 12 | Variant (used only with arrays of Variants) |
| vbDataObject | 13 | A data-access object |
| vbDecimal | 14 | Decimal Value |
| vbByte | 17 | Byte |
| vbLongLong | 20 | LongLong integer (64 bit) |
| vbArray | 8192 | Array |
+--------------+-------+---------------------------------------------+
The VarType function never returns the value for Array by itself. It
is always added to some other value to indicate an array of a
particular type. The value for Variant is only returned when it has
been added to the value for Array to indicate that the argument to the
VarType function is an array. For example, the value returned for an
array of integers is calculated as 2 + 8192, or 8194. If an object has
a default property, VarType (object) returns the type of its default
property.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…