Como converter texto en número con Excel VBA (3 exemplos con macros)

  • Comparte Isto
Hugh West

En Microsoft Excel, o máis común é traballar con números. Ás veces, temos que procesar un conxunto de datos con grandes cantidades de números. Pero, pode atoparse nunha situación na que os seus números parecen texto. Por este motivo, non se pode sumar, restar, dividir, multiplicar nin realizar ningún tipo de operación. Sempre mostra un erro cando tentas facelo. Neste titorial, ensinarémosche como converter texto en número en Excel usando códigos VBA con exemplos axeitados e ilustracións adecuadas.

Descargar Practice Workbook

Descargar esta práctica libro de traballo

Converte texto en números usando VBA.xlsm

Como identificar números formateados como texto

Microsoft Excel é intelixente suficiente para comprender a diferenza entre texto e número. Convérteos automaticamente aos seus respectivos formatos. Pero ás veces non pode facelo por mor dun mal uso e interpretación incorrecta do conxunto de datos. Por ese motivo, mantén eses números como textos no teu caderno de traballo.

Bótalle un ollo a este conxunto de datos. Aquí, temos algúns números nunha columna.

Aínda que temos números na columna, todos están aliñados á esquerda como o texto. Agora, fai clic en calquera cela. Atoparás esta caixa ao lado da cela.

Agora, pasa o cursor do rato sobre a caixa. Despois diso, verá esta mensaxe.

Mostra que a cela ten formato de texto. Deste xeito, podes estar segurose as celas teñen formato de texto ou non.

3 códigos VBA para converter texto en número en Excel

Aínda que pode converter facilmente texto en números manualmente, este tutorial trata sobre converter texto en números. número usando códigos VBA. Recomendamos que aprendas e apliques todos estes métodos ao teu conxunto de datos. Seguramente, será útil en moitas situacións.

1. Código VBA con Range.NumberFormat Método para converter texto en número en Excel

Este método é bastante sinxelo e fácil de usar en calquera conxunto de datos. Todo o que tes que facer é seleccionar o intervalo de celas e inserilo no código VBA .

📌 Pasos

1. Primeiro, preme ALT+F11 no teu teclado para abrir o editor VBA .

2. Fai clic en Inserir > Módulo .

3. A continuación, escriba o seguinte código:

6438

4. Garda o ficheiro.

5. A continuación, prema ALT+F8 . Abrirá a caixa de diálogo Macro .

6. Selecciona ConvertTextToNumber e fai clic en Executar.

Ao final, este código converterá o noso texto en números.

Ler máis: Como converter unha cadea en número en Excel VBA

2. Código VBA con bucle e CSng para converter o texto en número

Neste método, estamos a usar as funcións Loop e CSng . A función CSng toma basicamente calquera texto como argumento e convérteo nun único número. O noso bucle percorrerá todas e cada unha das celas dea columna seleccionada. Despois diso, pasaremos o valor de cada cela á función CSng para convertelo de texto a número.

📌 Pasos

1. Primeiro, preme ALT+F11 no teu teclado para abrir o editor VBA .

2. Fai clic en Inserir > Módulo .

3. A continuación, escriba o seguinte código:

1446

4. Garda o ficheiro.

5. A continuación, prema ALT+F8 . Abrirá a caixa de diálogo Macro .

6. Selecciona ConvertUsingLoop e fai clic en Executar.

Como podes ver, convertemos o noso texto en números usando este código VBA .

Lecturas similares

  • Conversión masiva de texto a número en Excel (6 xeitos)
  • Como converter cadea en longa usando VBA en Excel (3 xeitos)
  • Converter cadea en dobre en Excel VBA (5 métodos)
  • Como para corrixir o erro de conversión a número en Excel (6 métodos)

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

Agora, os métodos anteriores eran para os rangos seleccionados . Isto significa que tes que introducir manualmente o teu rango de celas no código. Pero ás veces o teu conxunto de datos pode ser grande. Neses casos, tes que lembrar o rango de celas. Este método superará ese problema. Sabemos que o noso conxunto de datos comeza a partir da Cela B5 . Pero non sabemos onde pode rematar.

Entón, identificamos dinámicamente a última fila de Excel usada que ten datos mediante Cells(Rows.Count, "B").End(xlUp).Row . Isodevolve o último número de fila non baleiro que estamos concatenando con “ B5:B “.

📌 Pasos

1. Primeiro, preme ALT+F11 no teu teclado para abrir o editor VBA .

2. Fai clic en Inserir > Módulo .

3. A continuación, escriba o seguinte código:

5139

4. Garda o ficheiro.

5. A continuación, prema ALT+F8 . Abrirá a caixa de diálogo Macro .

6. A continuación, seleccione ConvertDynamicRanges e prema en Executar.

Como podes ver, conseguimos converter texto en números usando o Códigos VBA.

💬 Cousas para lembrar

✎ Aquí estamos a usar a columna B para o noso conxunto de datos. Se os teus datos están nunha columna diferente, cambia o intervalo de celas dos códigos VBA en consecuencia.

✎ Os códigos VBA só funcionarán na folla activa.

Conclusión

Para concluír, espero que este tutorial che proporcionou un coñecemento útil sobre a conversión de texto a número en Excel usando códigos VBA. Recomendamos que aprendas e apliques todas estas instrucións ao teu conxunto de datos. Descarga o caderno de prácticas e proba estes ti mesmo. Ademais, non dubide en enviar comentarios na sección de comentarios. Os teus valiosos comentarios mantennos motivados para crear titoriais coma este. Non esquezas consultar o noso sitio web Exceldemy.com para atopar varios problemas e solucións relacionados con Excel.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.