Saskia estaba teniendo problemas para convertir información, bajo el control de una macro, y aún así poder usarla en Excel. Cuando recibiera una hoja de trabajo que mostrara números formateados con puntos decimales, tendría que convertir los valores para que usaran comas decimales, de acuerdo con la forma en que se muestran los números en Holanda. Buscaría y reemplazaría, y todo funcionaría bien. Sin embargo, cuando grabó una macro que buscó y reemplazó, las celdas resultantes se trataron como texto en lugar de valores numéricos.

La razón de este comportamiento es que Excel VBA «habla» americano, y algunas acciones realizadas con una macro grabada no funcionan como se esperaba debido a ese hecho. Debido a que American Excel espera que el separador decimal sea un punto, interpretar un «número» en VBA con otro separador (como una coma) hará que Excel considere que el valor es texto.

La solución alternativa es no utilizar buscar y reemplazar, sino utilizar un truco diferente. Considere la siguiente macro breve:

Sub ConvertNumbers()

Dim oConRange As Range     Set oConRange = ActiveSheet.UsedRange.Cells.SpecialCells(xlConstants)

oConRange.Value = oConRange.Value End Sub

Esta macro define un rango que consta de todas las celdas que contienen constantes. Luego, establece el valor de cada celda en el rango igual a sí mismo. En el proceso de hacer esto, Excel reevalúa el contenido de cada celda y lo convierte al valor numérico apropiado. En otras palabras, los números que contienen puntos decimales se convierten en números que contienen comas decimales.

Hay otras formas de procesar las celdas usando una macro, pero el procedimiento anterior parece funcionar mejor y más rápido.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (12630) se aplica a Microsoft Excel 2007, 2010 y 2013. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Replacing_and_Converting_in_a_Macro [Reemplazo y conversión en una macro].