Cómo cambiar el formato de la celda activa en Excel usando VBA

Por defecto, la celda activa en Excel se distingue por un borde verde. No hay ningún tipo de resaltado o sombreado. Incluso si cambias los temas y colores, la celda activa sigue siendo la misma. Aunque sea notoria y probablemente fácil de encontrar para la mayoría de nosotros, eso no significa que no se pueda cambiar. Hasta donde yo sé, no hay un tema o estilo incorporado que te permita controlar la celda activa. Afortunadamente, se puede hacer mediante VBA. En este artículo, te mostraré un procedimiento de VBA que cambia las propiedades de formato de la celda activa.

Estoy utilizando Microsoft 365 en un sistema Windows 10 de 64 bits, pero puedes utilizar versiones anteriores. Sin embargo, Excel Online no admite VBA. Puedes trabajar con tu propio archivo o descargar los archivos de demostración .xlsm, .xls y .cls para acceder fácilmente al código.

Este no es mi código original; este procedimiento y otros similares han estado disponibles en línea durante años. Si supiera a quién darle crédito, lo haría.

Índice de Contenido
  1. Más sobre la celda activa en Excel
  2. Acerca del procedimiento de VBA
  3. Ejecutar el procedimiento de VBA

Más sobre la celda activa en Excel

Cuando seleccionas una celda, Excel muestra un borde verde alrededor de esa celda, que es la celda activa. Cuando te mueves a otra celda o rango, Excel elimina el borde verde de la celda activa anterior y lo aplica a la celda activa actual. Si seleccionas un rango, Excel aplica ese borde verde a todo el rango. La celda activa dentro de ese rango sigue siendo blanca (o transparente), pero Excel aplica un tono gris a las celdas restantes, como se muestra en la Figura A. Si esto no es suficiente para ti o para tus usuarios, puedes utilizar un procedimiento de VBA para cambiar la forma en que Excel visualmente indica la celda activa.

Figura A

Enseñanza y Aprendizaje con Microsoft: Herramientas y Lecciones para Profesores de todos los Niveles

Cómo cambiar el formato de la celda activa en Excel usando VBA - Software | Imagen 1 Newsmatic

Acerca del procedimiento de VBA

Sea cual sea tu motivo, puedes cambiar fácilmente el color de relleno de la celda activa utilizando el evento Worksheet_SheetSelectionChange de VBA. Este evento se activa cuando cambia la selección en cualquier hoja de cálculo, es decir, cuando cambias la celda activa (no funciona en una hoja de gráfico). Lo que no puedes hacer, según mi conocimiento, es cambiar el color del borde. El objeto Range (Target en el procedimiento) tiene una propiedad Border, pero no se lleva bien con la propiedad interna del borde de la celda activa. Verás el nuevo color del borde solo por un breve momento entre selecciones. El procedimiento en los archivos de demostración tiene declaraciones que están comentadas; puedes ver cómo funciona el borde quitando el carácter de comentario (') al comienzo de estas declaraciones.

El procedimiento en el Listado A utiliza una variable estática, rngOld, para realizar un seguimiento de las celdas activas actual y anterior. La celda activa actual se convierte en la anterior cuando seleccionas una celda diferente.

Listado A

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
    'Cambia las propiedades de formato de la celda activa.
    Static rngOld As Range
    On Error Resume Next
    'Color de la celda activa, que se pasa como Target.
    Target.Interior.ColorIndex = 8 'Cian
    'Restablece el color de la celda activa anterior.
    rngOld.Interior.ColorIndex = xlColorIndexNone
    'Establece que la celda activa anterior sea Target, la nueva celda activa.
    'En la siguiente selección, rngOld será la celda activa anterior.
    Set rngOld = Target
End Sub

Es importante tener en cuenta que rngOld es una variable estática. Eso significa que conserva su valor incluso después de que termine el procedimiento. Otras variables pierden su valor cuando el procedimiento finaliza. Target se pasa al procedimiento como la celda activa actual. Se establece el color de relleno de esa celda en Cian (un azul neón). rngOld, que es la celda activa anterior, se establece como nada, es decir, se elimina el formato temporal. Por último, rngOld se establece en Target. Al ser una variable estática, cuando cambias la celda activa, rngOld será igual a la celda activa anterior. Sé que puede resultar un poco confuso, pero seguir el código con un punto de interrupción y F8 podría aclarar las cosas para ti, si sabes cómo hacerlo. Divide tu pantalla y observa cómo se actualizan las celdas mientras avanzas paso a paso por el código.

Ejecutar el procedimiento de VBA

Para ingresar al procedimiento, presiona Alt + F11 para abrir el Editor de Visual Basic (VBE). En el Explorador de proyectos a la izquierda, selecciona ThisWorkbook para que puedas ejecutar el procedimiento en cualquier hoja. Puedes ingresar el código manualmente o importar el archivo .cls descargable. Además, el macro está presente en los archivos descargables .xlsm, .xls y .cls. Si ingresas el código manualmente, no lo pegues directamente desde esta página web. En su lugar, copia el código en un editor de texto y luego pégalo en el módulo ThisWorkbook. Esto eliminará cualquier carácter web fantasma que de lo contrario podría causar errores.

Guía de Examen de Certificación Lotus Notes: Desarrollo de Aplicaciones y Administración del Sistema

Si estás utilizando una versión de cinta (ribbon), asegúrate de guardar el libro como un archivo habilitado para macros. Si estás trabajando en la versión de menú, puedes omitir este paso.

Regresa a Excel y comienza a hacer clic en las celdas. Cada vez que cambies la selección, se activará el procedimiento, que cambiará temporalmente el color de relleno de la celda activa. La Figura B muestra esto con una sola celda y un rango.

Figura B

Cómo cambiar el formato de la celda activa en Excel usando VBA - Software | Imagen 2 Newsmatic

Cómo gestionar eficazmente grandes volúmenes de correo electrónico

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo cambiar el formato de la celda activa en Excel usando VBA , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.