Cómo Convertir Texto a Número con Excel VBA (3 Ejemplos con Macros)

  • Compartir Este
Hugh West

En Microsoft Excel, trabajar con números es de lo más habitual. A veces, tenemos que procesar un conjunto de datos con grandes cantidades de números. Pero, es posible que te encuentres en una situación en la que tus números parezcan texto. Por este motivo, no puedes sumar, restar, dividir, multiplicar ni realizar ningún tipo de operación. Siempre muestra un error cuando intentas hacerlo. En este tutorial, te enseñaremos a convertirtexto a número en Excel utilizando VBA códigos con ejemplos adecuados e ilustraciones apropiadas.

Descargar el cuaderno de prácticas

Descargar este cuaderno de prácticas

Convertir texto en números utilizando VBA.xlsm

Cómo identificar números formateados como texto

Microsoft Excel es lo suficientemente inteligente como para entender la diferencia entre Texto y Número. Automáticamente los convierte a sus respectivos formatos. Pero, a veces no puede hacer eso debido a algún mal uso y malas interpretaciones del conjunto de datos. Por esa razón, mantiene esos números como textos en su libro de trabajo.

Echa un vistazo a este conjunto de datos. Aquí, tenemos algunos números en una columna.

Aunque tenemos números en la columna, todos están alineados a la izquierda como el texto. Ahora, haz clic en cualquier celda. Encontrarás este cuadro al lado de la celda.

Ahora, pasa el cursor del ratón por encima de la casilla. Después, verás este mensaje.

De este modo, puede estar seguro de si las celdas están formateadas como texto o no.

3 Códigos VBA para Convertir Texto en Número en Excel

Aunque puede convertir fácilmente texto en números de forma manual, este tutorial trata sobre la conversión de texto en números mediante códigos VBA. Le recomendamos que aprenda y aplique todos estos métodos a su conjunto de datos. Seguro que le resultará útil en muchas situaciones.

1. Código VBA con el método Range.NumberFormat para convertir texto en número en Excel

Este método es bastante sencillo y fácil de utilizar en cualquier conjunto de datos. Todo lo que tiene que hacer es seleccionar el rango de celdas e insertarlo en el campo Código VBA .

📌 Pasos

1. En primer lugar, pulse ALT+F11 del teclado para abrir el Editor VBA .

2. Haga clic en Insertar> Módulo .

3. A continuación, escriba el siguiente código:

 Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub 

4. Guarde el archivo.

5. A continuación, pulse ALT+F8 Se abrirá el Macro cuadro de diálogo.

6. Seleccione ConvertirTextoEnNúmero y haga clic en Corre.

Al final, este código convertirá nuestro texto en números.

Más información: Cómo convertir cadena a número en Excel VBA

2. Código VBA con bucle y CSng para convertir el texto en número

En este método, utilizamos Bucle y CSng funciones. El CSng básicamente toma cualquier texto como argumento y lo convierte en un único número. Nuestro bucle pasará por todas y cada una de las celdas de la columna seleccionada. Después, pasaremos el valor de cada celda a CSng para convertirlo de texto a número.

📌 Pasos

1. En primer lugar, pulse ALT+F11 en el teclado para abrir el Editor VBA .

2. Haga clic en Insertar> Módulo .

3. A continuación, escriba el siguiente código:

 Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub 

4. Guarde el archivo.

5. A continuación, pulse ALT+F8 Se abrirá el Macro cuadro de diálogo.

6. Seleccione ConvertirUsingLoop y haga clic en Corre.

Como puede ver, hemos convertido nuestro texto en números utilizando este código VBA.

Lecturas similares

  • Convertir Texto a Número en Excel (6 Maneras)
  • Cómo convertir cadena a largo utilizando VBA en Excel (3 maneras)
  • Convertir Cadena a Doble en Excel VBA (5 Métodos)
  • Cómo corregir el error de convertir a número en Excel (6 métodos)

3. Convertir texto en números para rangos dinámicos en Excel

Ahora bien, los métodos anteriores eran para los rangos seleccionados. Eso significa que tienes que introducir manualmente tu rango de celdas en el código. Pero a veces tu conjunto de datos puede ser grande. En esos casos, tienes que recordar el rango de celdas. Este método superará ese problema. Sabemos que nuestro conjunto de datos comienza en Célula B5 Pero no sabemos dónde puede acabar.

Así que identificamos dinámicamente la última fila de Excel que contiene datos utilizando Cells(Rows.Count, "B").End(xlUp).Row Devuelve el último número de fila no vacío que estamos concatenando con " B5:B ".

📌 Pasos

1. En primer lugar, pulse ALT+F11 del teclado para abrir el Editor VBA .

2. Haga clic en Inserte > Módulo .

3. A continuación, escriba el siguiente código:

 Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub 

4. Guarde el archivo.

5. A continuación, pulse ALT+F8 Se abrirá el Macro cuadro de diálogo.

6. A continuación, seleccione ConvertDynamicRanges y haga clic en Corre.

Como puede ver, hemos conseguido convertir texto en números utilizando los códigos VBA.

💬 Cosas para recordar

✎ Aquí, estamos utilizando la columna B para nuestro conjunto de datos. Si sus datos están en una columna diferente, cambie el rango de celdas en los códigos VBA en consecuencia.

✎ Los códigos VBA sólo funcionarán en la hoja activa.

Conclusión

Para concluir, espero que este tutorial le haya proporcionado un conocimiento útil sobre la conversión de texto a número en Excel utilizando códigos VBA. Le recomendamos que aprenda y aplique todas estas instrucciones a su conjunto de datos. Descargue el libro de práctica y pruébelas usted mismo. Además, no dude en darnos su opinión en la sección de comentarios. Su valiosa opinión nos mantiene motivados para crear tutoriales como éste.No olvide consultar nuestro sitio web Exceldemy.com para diversos problemas y soluciones relacionados con Excel.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.