A Richard le gustaría poder buscar un apóstrofe (‘) en la posición más a la izquierda de una celda, pero Excel no le permite hacerlo. En otras palabras, si una celda contiene ‘123 o’ a34tp, a Richard le gustaría poder encontrar ese apóstrofe inicial y, opcionalmente, reemplazarlo con otra cosa.

Hacer lo que Richard quiere hacer requiere un poco de explicación preliminar.

Técnicamente, es un nombre inapropiado referirse al apóstrofe como un «personaje principal» o mencionar que está en la «posición más a la izquierda» de una celda. Aunque puede mirar la barra de fórmulas y ver el apóstrofo al principio de la fórmula, ese apóstrofe no es realmente una parte del contenido de la celda; es por eso que no puede usar Buscar y reemplazar para buscarlo y reemplazarlo.

El apóstrofe se considera en realidad un «carácter de prefijo» para una celda.

Los valores posibles del carácter de prefijo se establecen mediante la configuración de Teclas de navegación de transición en Excel, y el valor de la configuración se guarda libro por libro. Puede cambiar esta configuración utilizando la pestaña Transición del cuadro de diálogo Opciones.

Si se borra la configuración (la condición predeterminada para la configuración), entonces el valor del carácter de prefijo para cada celda puede estar en blanco o un apóstrofo. Si la celda contiene texto, entonces la configuración del carácter de prefijo no importa mucho. Si el contenido de la celda no es texto, establecer el carácter de prefijo en un apóstrofo obliga a Excel a tratar el contenido de la celda como si fuera texto. Entonces, por ejemplo, el número 123 se trata como texto, no como un número, y aparece en la barra de fórmulas como ‘123.

Si se selecciona la configuración Transition Navigation Keys (la casilla de verificación tiene una marca de verificación), el valor del carácter de prefijo para cada celda puede tener uno de cinco valores diferentes. Estos valores son consistentes con los prefijos utilizados en Lotus 1-2-3 y, curiosamente, solo se admiten en Excel como una ayuda de transición para el uso regular en el programa.

Los valores posibles son un apóstrofo (justificado a la izquierda), comillas (justificado a la derecha), quilate (centrado), barra invertida (repetida) o en blanco (elemento sin texto).

Ahora, volvamos a la pregunta original de Richard: cómo buscar y deshacerse de ese apóstrofe principal. No puede usar Buscar y reemplazar para realizar la edición porque el apóstrofo no es realmente parte del contenido de la celda.

Por lo tanto, debe realizar el cambio en una macro. El cambio es relativamente fácil. Primero, querrá asegurarse de que el libro de trabajo tenga desactivada la configuración de Teclas de navegación de transición. ¿Por qué? Porque probablemente no querrá estropear el carácter de prefijo para las celdas si el libro de trabajo podría usarse en algún momento futuro con Lotus 1-2-3 nuevamente. Asegúrate de que la configuración sea correcta, en tu macro, con la siguiente línea:

Application.TransitionNavigKeys = False

A continuación, puede recorrer una selección de celdas y verificar si el carácter de prefijo de cada celda es un apóstrofo. Si es así, entonces todo lo que necesita hacer es hacer que la macro haga el equivalente a volver a escribir manualmente el contenido de la celda, de la siguiente manera:

For Each c In Selection     If c.PrefixCharacter = "'" Then         c.Value = c.Value     End If Next c

Tenga en cuenta que la macro comprueba qué hay en la propiedad PrefixCharacter. Esta propiedad se puede leer en VBA, pero no se puede cambiar directamente. Es por eso que la macro necesita usar la línea aparentemente simple para asignar el valor de cada celda nuevamente en la celda, esencialmente volviendo a escribir el contenido.

Si prefiere no utilizar una macro para deshacerse de los caracteres del prefijo del apóstrofo, puede aprovechar una pequeña peculiaridad de Pegado especial. Siga estos pasos generales:

  1. Seleccione una celda en blanco y cópiela en el Portapapeles (use Ctrl + C).

  2. Seleccione el rango de celdas del que desea eliminar el carácter de prefijo.

  3. Muestre el cuadro de diálogo Pegado especial.

  4. Haga clic en el botón de opción Agregar.

  5. Haga clic en Aceptar.

Después de «agregar» la celda en blanco a cada una de las celdas de destino, se elimina el carácter de prefijo, si lo hay.

_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 (3332) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Searching_for_Leading_Apostrophes [Buscando apóstrofes principales].