Macro para convertir datos de una celda en formato de texto

Te expongo lo requerido, en el ejemplo los datos de la columna B son numéricos (decimales) pero al momento de concatenar en la Columna D, suprime el cero o los ceros y lo que se quiere es que se concatene igual el entero con 3 decimales como las filas (5 y 6); por ello una macro en un botón para convertir los datos de la columna B en texto para que se concatene como texto.

1 respuesta

Respuesta
1

Depende como tu concatenes, he visto en tu pregunta anterior que usas el símbolo + (suma) para concatenar, y eso está mal. Para concatenar en VBA se usa el símbolo & (ampersand) esto tratara todo como cadena de texto.

De todas formas la manera de convertir un valor numérico a texto en tiempo de ejecución es usando la función:

CStr(aqui el valor)

Por ejemplo:

Dim Valor As String
Valor = CStr(0.8)

Esto trataría al 0.8 como texto.

Ahora bien, no me dices donde o como lo estas concatenando. ¿Es con una formula?

Andy M.

Gracias por responder, creo que la imagen del ejemplo no se copio en la pregunta inicial. Como observaras la concatenación es una fórmula que está en la columna D, al concatenar la fila 3 y 4 los ceros se suprimen y lo que requiero una macro en un botón para que recorra la columna B y vaya convirtiendo los datos en textos para que se concatene como texto teniendo los 3 decimales u otra forma que concatene con los 3 decimales. Será posible? Gracias.

Ah vale, es así:

=CONCATENATE(A3,"|",TEXT(B3,"#.000"))

Andy M.

Disculpa, yo uso excel en ingles, cambia CONCATENATE a CONCATENAR

Me devuelve lo de la imagen:

Sera por la palabra TEXT que esta en ingles, prueba con TEXTO

¡Gracias! ...Excelente..!! es lo requerido. He tratado de hacerlo con una macro pero al capturar por ejemplo 3.210 en un variable para luego insertarlo en la misma celda en formato texto, lo captura suprimiendo el cero. Pero la solución que me diste está excelente, muchas gracias Andy.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas