Come si converte il valore integer
"45" nel valore string
"45" in VBA di Excel?Come convertire un numero intero in una stringa in VBA di Excel?
risposta
CSTR (45) Penso che è tutto ciò che serve (convertire la stringa)
Prova la funzione CStr()
Dim myVal as String;
Dim myNum as Integer;
myVal = "My number is:"
myVal = myVal & CStr(myNum);
maggior parte delle volte, non avrete bisogno di "convertire"; VBA eseguirà una conversione di tipo implicita sicura per voi, senza l'uso di convertitori come CStr
.
Il codice seguente funziona senza problemi, poiché la variabile è di tipo String e la conversione di tipo implicita viene eseguita automaticamente.
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Risultato:
"Il mio numero è: 0"
Non hanno nemmeno bisogno di ottenere che la fantasia, questo funziona anche:
Dim myString as String
myString = 77
"77"
L'unica volta che sarà necessario convertire è quando il tipo di variabile è ambigua (per esempio, tipo variabile, o una cella di Value
(che è Variante)).
Anche in questo caso, non è necessario utilizzare la funzione CStr
se si sta aggiungendo un'altra variabile o costante String. Come questo:
Sheet1.Range("A1").Value = "My favorite number is " & 7
"Il mio numero preferito è il 7"
Quindi, in realtà, l'unico rara caso è quando si vuole veramente per memorizzare un valore intero, in una variante o valore della cella, quando non anche compounding con un'altra stringa (che è un caso piuttosto raro lato, mi permetto di aggiungere):
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = i
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = CStr(i)
"7"
Nel mio caso, la funzione CString non è stato trovato. Ma anche l'aggiunta di una stringa vuota al valore funziona.
Dim Test As Integer, Test2 As Variant
Test = 10
Test2 = Test & ""
//Test2 is now "10" not 10
Nessuno ha parlato di 'CString', che è una funzione VB.NET. Concatenare una stringa vuota letterale per creare una stringa è un metodo di conversione piuttosto zoppo. Usa 'CStr' per le conversioni di tipo esplicito - questa è una conversione implicita del tipo e solleva le sopracciglia di chiunque legga quel codice. Scusa se ho trovato questa risposta così tardi, dopo che è stata postata, vorrei averla svalutata molto prima. –
La via più breve senza dichiarare la variabile è con i suggerimenti Tipo:
s$ = 123 ' s = "123"
i% = "123" ' i = 123
Questo non verrà compilato con Option Explicit
. I tipi non saranno Variant
ma String
e Integer
Se la stringa si sta tirando a caso è un numero esadecimale, come E01, quindi Excel tradurlo come 0 anche se si utilizza la funzione CStr, e anche se per prima cosa lo depositi in un tipo di variabile String. Un modo per aggirare il problema è aggiungere "all'inizio del valore.
Per esempio, quando si tira i valori di una tabella di Word, e portarli a Excel:
strWr = "'" & WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
- 1. Excel vba - converti stringa in numero
- 2. Come convertire una stringa in numero intero in VHDL?
- 3. Python: Convertire una stringa in un numero intero
- 4. Inserimento in una stringa VBA di Excel
- 5. Postscript: come convertire un intero in stringa?
- 6. Come convertire la stringa in numero intero in C#
- 7. Come convertire un numero intero in serie
- 8. Come convertire la stringa in numero intero in UNIX
- 9. Come convertire stringa in intero in powershell
- 10. Come convertire un valore intero in stringa?
- 11. Converti numero intero in stringa
- 12. Come convertire un intero in una stringa in modo flessibile?
- 13. Convertire un intero grande in una stringa esadecimale in Javascript
- 14. Convertire un intero grande in una stringa intera in PHP
- 15. Come convertire una stringa binaria in un numero intero 10 di base in Java
- 16. Coffeescript: come posso convertire una stringa in un numero?
- 17. Come convertire la stringa in numero intero nel modello velocità?
- 18. Convertire un numero intero in un numero float in Golang
- 19. Converti numero stringa in numero intero
- 20. Conversione di una stringa in numero intero in Schema
- 21. Come convertire un numero intero in una stringa di byte di lunghezza variabile?
- 22. Come importare un numero lungo da csv a excel senza convertire in notazione scientifica in VBA
- 23. Conversione di stringhe in esadecimale in Excel VBA
- 24. Come convertire da una stringa in un numero intero in Visual Basic?
- 25. VBA Data come intero
- 26. convertire un intero in una stringa in Erlang
- 27. come dividere una stringa con più delimitatori in vba excel?
- 28. Come convertire una stringa in numero in un modello freemarker
- 29. Converti un numero intero in una stringa senza allocare memoria
- 30. Converti un numero intero in una stringa firmata in Ruby
Non capisco il motivo per cui questa risposta non ha più voti, dato che è vero. Vale la pena notare che la conversione del tipo non è * sempre * eseguita, dipende dall'operatore in uso. Ad esempio, l'operazione + non allarga sempre un numero intero a una stringa. –
@MarkCh So che questo è vecchio, ma ... forse perché le conversioni implicite odiose di VBA e le chiamate predefinite dei membri sono ciò che rende così tanto codice VBA fragile, sorprendente e soggetto a errori? Non ci sarebbero nemmeno la metà delle domande VBA su SO se non fosse di conversioni implicite, accessibilità implicita, accesso ai membri predefinito implicito, matrici basate su 1 implicite con 'Opzione Base 1', digitando implicitamente con' Def [Tipo] ' (ragazzo che è MALE!), implicito ... lo capisci - l'unica cosa implicita buona in VBA è la sintassi implicita della chiamata che ha reso obsoleta la chiamata esplicita. –