Come posso convertire il valore integrale "45" nel valore stringa "45" in Excel VBA?
La maggior parte delle volte, non avrete bisogno di "convertire" VBA farà la conversione implicita sicura del tipo per voi, senza l'uso di convertitori come CStr
.
Il codice qui sotto funziona senza alcun problema, perché la variabile è di tipo String, e **la conversione implicita del tipo è fatta automaticamente per voi!
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Risultato: Il mio numero è: 0"
Non c'è nemmeno bisogno di essere così fantasiosi, funziona anche questo:
Dim myString as String
myString = 77
77"
L'unica volta che avrai bisogno di convertire è quando il tipo di variabile è ambiguo (per esempio, tipo Variante, o il Valore
di una cella (che è Variante)).
Anche in questo caso, non dovrai usare la funzione CStr
se stai componendo con un'altra variabile o costante String. In questo modo:
Sheet1.Range("A1").Value = "My favorite number is " & 7
"Il mio numero preferito è il 7"
Quindi, in realtà, l'unico caso raro è quando si vuole davvero memorizzare un valore intero, in una variante o in un valore Cell, quando non si compone anche con un'altra stringa (che è un caso collaterale piuttosto raro, potrei aggiungere):
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"