¿Cómo convierto el valor integer
"45" en el valor string
"45" en Excel VBA?¿Cómo convierto un entero en una cadena en Excel VBA?
Respuesta
cstr (45) Creo que es todo lo que necesita (convertir la serie)
Pruebe la función CStr()
Dim myVal as String;
Dim myNum as Integer;
myVal = "My number is:"
myVal = myVal & CStr(myNum);
mayoría de las veces, usted no tendrá que "convertir"; VBA hará una conversión de tipo implícita segura para usted, sin el uso de convertidores como CStr
.
El siguiente código funciona sin problemas, porque la variable es de Tipo Cadena, y la conversión de tipo implícita se realiza automáticamente.
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Resultado:
"Mi número es: 0"
Ni siquiera tiene que conseguir que la fantasía, esto también funciona:
Dim myString as String
myString = 77
"77"
La única vez que tendrá que convertir es cuando la variable Tipo es ambigua (por ejemplo, tipo de variante, o una célula de Value
(que es Variante)).
Incluso entonces, no tendrá que usar la función CStr
si está componiendo con otra variable de cadena o constante. De esta manera:
Sheet1.Range("A1").Value = "My favorite number is " & 7
"Mi número favorito es el 7"
Así que, realmente, la única rara caso es cuando realmente se desea almacenar un valor entero, en una variante o valor de la celda, cuando no también la composición con otra cadena (que es un caso bastante raro lado, debo añadir):
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = i
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = CStr(i)
"7"
En mi caso, no se encontró el CString función. Pero agregar una cadena vacía al valor también funciona.
Dim Test As Integer, Test2 As Variant
Test = 10
Test2 = Test & ""
//Test2 is now "10" not 10
Nadie habló de 'CString', que es una función de VB.NET. Concatenar un literal de cadena vacío para hacer una cadena es un método de conversión bastante cojo. Utilice 'CStr' para las conversiones de tipo explícitas; esta es una conversión de tipo implícita y levanta las cejas de cualquiera que lea ese código. Lamento haber encontrado esta respuesta tan tarde después de su publicación, ojalá pudiera haberlo votado mucho antes. –
El camino más corto sin declarar la variable es con sugerencias Tipo:
s$ = 123 ' s = "123"
i% = "123" ' i = 123
Esto no va a compilar con Option Explicit
. Los tipos no serán Variant
pero String
y Integer
Si la cadena que se está tirando en pasa a ser un número hexadecimal como E01, a continuación, Excel lo traducirá como 0, incluso si se utiliza la función CStr, e incluso si primero lo deposita en un tipo de variable String. Una forma de resolver el problema es agregar 'al comienzo del valor.
Por ejemplo, cuando se tira de los valores de una tabla de Word, y traerlos a Excel:
strWr = "'" & WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
- 1. ¿Cómo convierto una cadena hexadecimal en un entero con signo?
- 2. cómo dividir una cadena con múltiples delimeters en vba excel?
- 3. ¿Cómo puedo URL codificar una cadena en Excel VBA?
- 4. declarando una cadena Unicode en vba en excel
- 5. ¿Cómo convierto una cadena en un número entero en el objetivo C?
- 6. ¿Cómo convierto un entero en una cadena con ceros a la izquierda en Tcl?
- 7. Coffeescript: ¿cómo convierto una cadena en un número?
- 8. macro VBA Excel escribiendo un entero de entrada en una celda
- 9. matriz en Excel VBA
- 10. OnClick en Excel VBA
- 11. OCaml - ¿Cómo convierto int en una cadena?
- 12. Cómo convertir cadena a entero en C#
- 13. ¿Cómo convierto una cadena binaria en un número en Perl?
- 14. ¿Cómo convierto una cadena en un char * en C++?
- 15. ¿Cómo convierto un largo en una cadena en C++?
- 16. En Erlang, ¿cómo convierto una Cadena en un valor binario?
- 17. ¿Cómo convierto una cadena en un buffer en Python 3.1?
- 18. ¿Cómo convierto un doble en una cadena en C++?
- 19. Excel vba - cadena de conversión al número
- 20. ¿Cómo convierto una cadena de caracteres en una cadena wchar_t?
- 21. Subcadena de Excel VBA
- 22. Cómo convertir un valor entero a una cadena?
- 23. ¿Cómo convierto un objeto org.w3c.dom.Document en una Cadena?
- 24. ¿Cómo convierto un InputStream a una cadena en Java?
- 25. ¿Cómo convierto un objeto Rails DateTime en una cadena XML?
- 26. Cómo convierto un nombre de función en una cadena
- 27. ¿Cómo convierto un UIColor en una cadena hexadecimal?
- 28. ¿Cómo convierto una cadena a un tipo int en C#?
- 29. ¿Cómo convierto una cadena en un método de clase?
- 30. ¿Cómo convierto una cadena en una representación en minúsculas?
No entiendo por qué esta respuesta no tiene más votos, dado que es cierto. Vale la pena señalar que la conversión de tipo no * siempre * se lleva a cabo, depende del operador en uso. Por ejemplo, la operación + no siempre ensanchará un entero a una cadena. –
@MarkCh Sé que esto es viejo, pero ... tal vez porque las desagradables conversiones implícitas de VBA y las llamadas predeterminadas de los miembros son lo que hace que el código de VBA sea tan frágil, sorprendente y propenso a errores. No habría la mitad de preguntas de VBA en SO si no se tratara de conversiones implícitas, accesibilidad implícita, acceso de miembro implícito predeterminado, matrices implícitas basadas en 1 con 'Option Base 1', tipeo implícito con' Def [Type] ' (¡Muchacho, eso es MALO!), implícito ... lo entiendes - la única buena cosa implícita en VBA es la sintaxis de llamada implícita que hace que la 'Llamada' explícita sea obsoleta. –