VBA/Excel/Access/Word/Data Type/Variant
Содержание
- 1 Add Variant integer in string to another Variant integer in string
- 2 Add Variant integer to Variant string
- 3 Add Variant string to Variant integer
- 4 Assign difference type variable to Variant variable
- 5 A Variant allows VBA to make its own decision as to what type of data it is holding
- 6 A Variant allows VBA to make its own decision as to what type of data it is holding: string and integer
- 7 Determining the Type of a Variant
- 8 Get the variable type for Variant
- 9 If you simply declare a variable with a Dim statement and leave off the type-declaration keyword or character, the variable is a variant
- 10 One of the few instances in which you have no choice for using a Variant:
- 11 Variant string
Add Variant integer in string to another Variant integer in string
<source lang="vb">
Sub dimDemo()
Dim varAnyThing As Variant varAnyThing = "31" varAnyThing = varAnyThing + "10"
End Sub
</source>
Add Variant integer to Variant string
<source lang="vb">
Sub asVar()
Dim varAnyThing As Variant varAnyThing = 31 varAnyThing = varAnyThing & " is half of 62"
End Sub
</source>
Add Variant string to Variant integer
<source lang="vb">
Sub variantDemo()
Dim varAnyThing As Variant varAnyThing = "31" varAnyThing = varAnyThing + 10
End Sub
</source>
Assign difference type variable to Variant variable
<source lang="vb">
Sub var()
Dim varAnyThing As Variant varAnyThing = 31 varAnyThing = "Any old thing"
End Sub
</source>
A Variant allows VBA to make its own decision as to what type of data it is holding
<source lang="vb">
Sub varSun()
Dim varMyData As Variant varMyData = "This is a Variant" Debug.Print varMyData varMyData = 12 Debug.Print varMyData
End Sub
</source>
A Variant allows VBA to make its own decision as to what type of data it is holding: string and integer
<source lang="vb">
Sub var()
Dim varMyData as Variant varMyData = "This is a Variant" varMyData = 12
End Sub
</source>
Determining the Type of a Variant
<source lang="vb">
Value Variant type 0 Empty (unitialized) 1 Null (no valid data) 2 Integer 3 Long Integer 4 Single 5 Double 6 Currency 7 Date 8 String 9 Object 10 Error value 11 Boolean 12 Variant (only used with arrays of variants) 13 Data access object 14 Decimal value 17 Byte 36 User Defined Type 8192 Array Sub VariantExample()
Dim varAnyThing As Variant varAnyThing = 12.345 Debug.Print VarType(varAnyThing) varAnyThing = 12.345 varAnyThing = varAnyThing & " is a number" Debug.Print VarType(varAnyThing) varAnyThing = 12.345 varAnyThing = varAnyThing + "10" Debug.Print VarType(varAnyThing) varAnyThing = 12345 Debug.Print VarType(varAnyThing) varAnyThing = 123456 Debug.Print VarType(varAnyThing)
End Sub
</source>
Get the variable type for Variant
<source lang="vb">
Sub VariantExample()
Dim varAnyThing As Variant varAnyThing = 12.345 Debug.Print VarType(varAnyThing) varAnyThing = 12.345 varAnyThing = varAnyThing & " is a number" Debug.Print VarType(varAnyThing) varAnyThing = 12.345 varAnyThing = varAnyThing + "10" Debug.Print VarType(varAnyThing) varAnyThing = 12345 Debug.Print VarType(varAnyThing) varAnyThing = 123456 Debug.Print VarType(varAnyThing)
End Sub
</source>
If you simply declare a variable with a Dim statement and leave off the type-declaration keyword or character, the variable is a variant
<source lang="vb">
Sub var()
Dim myVar
End Sub
</source>
One of the few instances in which you have no choice for using a Variant:
<source lang="vb">
Sub fewInstance()
Dim varArray As Variant varArray = Array("Element1", 2, "Another string")
End Sub
</source>
Variant string
<source lang="vb">
Sub VariantStringTest()
Dim varFirstName As Variant Dim varLastName As Variant Dim varFullName As Variant varFirstName = "Janine" varLastName = Null varFullName = varFirstName + varLastName Debug.Print varFullName
End Sub
</source>