Hoe converteer ik de waarde integer "45" naar de waarde string "45" in Excel VBA?
In de meeste gevallen hoeft u niet te "converteren" VBA doet veilige impliciete type conversie voor u, zonder het gebruik van converters zoals CStr
.
Onderstaande code werkt zonder problemen, omdat de variabele van het type String is, en impliciete type conversie wordt automatisch voor je gedaan!
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Resultaat:
"Mijn nummer is: 0"
Je hoeft niet eens zo mooi te zijn, dit werkt ook:
Dim myString as String
myString = 77
"77"
De enige keer dat je zal moeten converteren is wanneer de variabele Type dubbelzinnig is (b.v. Type Variant, of een Cell's Value
(die is Variant)).
Zelfs dan, zult u de CStr
functie niet hoeven te gebruiken als u'samenstelt met een andere String variabele of constante. Zoals dit:
Sheet1.Range("A1").Value = "My favorite number is " & 7
"Mijn favoriete getal is 7"
Dus, echt, het enige zeldzame geval is wanneer je echt een integer waarde wilt opslaan, in een variant of Cell waarde, wanneer niet ook samengesteld met een andere string (wat een vrij zeldzaam nevengeval is, zou ik kunnen toevoegen):
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = i
7
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = CStr(i)
"7"