Crear un Indicador de Celda en Google Sheets

Hoy vamos a crear un indicador de celda que cambia el color de la celda, la fila y la columna en la que estamos situados. Este indicador puede ser muy útil para informes y gráficos, facilitando la visualización de datos.

Paso 1: Configuración Inicial

Crear el Activador onSelectionChange

Primero, necesitamos configurar un activador que se ejecute cuando cambiemos de celda. Usaremos el activador onSelectionChange.

  1. Abre el editor de secuencias de comandos en Google Sheets.
  2. Crea un nuevo proyecto y copia el siguiente código:
function onSelectionChange(e) {
  var hoja = e.source.getActiveSheet();
  var celdaActiva = hoja.getActiveCell();
  var filaActiva = celdaActiva.getRow();
  var columnaActiva = celdaActiva.getColumn();

  // Poner toda la hoja en blanco
  hoja.getRange(1, 1, hoja.getMaxRows(), hoja.getMaxColumns()).setBackground('white').setFontColor('black').setFontWeight('normal');

  // Resaltar la fila y columna de la celda activa
  hoja.getRange(filaActiva, 1, 1, hoja.getMaxColumns()).setBackground('#D3D3D3'); // Color gris claro
  hoja.getRange(1, columnaActiva, hoja.getMaxRows(), 1).setBackground('#D3D3D3'); // Color gris claro

  // Resaltar la celda activa
  celdaActiva.setBackground('#0000FF').setFontColor('white').setFontWeight('bold'); // Color azul con texto blanco y negrita
}

Activar el onSelectionChange

Para activar este evento, necesitamos ejecutar una función inicial que habilite el uso del activador onSelectionChange.

  1. Añade una función inicial:
function activarSeleccionChange() {
  SpreadsheetApp.getActiveSpreadsheet().toast("Activador onSelectionChange habilitado.");
}
  1. Guarda y ejecuta activarSeleccionChange una vez para habilitar el activador.

Paso 2: Personalización

Ajustar Colores y Estilos

Puedes personalizar los colores y estilos según tus preferencias. En el ejemplo anterior, usamos:

  • Color de fondo de la celda activa: Azul (#0000FF)
  • Color de texto de la celda activa: Blanco
  • Negrita en la celda activa:
  • Color de fondo de la fila y columna activa: Gris claro (#D3D3D3)

Opciones Avanzadas

Puedes agregar más opciones avanzadas, como cambiar el tamaño del texto, aplicar bordes, etc. Aquí un ejemplo:

function onSelectionChange(e) {
  var hoja = e.source.getActiveSheet();
  var celdaActiva = hoja.getActiveCell();
  var filaActiva = celdaActiva.getRow();
  var columnaActiva = celdaActiva.getColumn();

  // Poner toda la hoja en blanco
  hoja.getRange(1, 1, hoja.getMaxRows(), hoja.getMaxColumns()).setBackground('white').setFontColor('black').setFontWeight('normal');

  // Resaltar la fila y columna de la celda activa
  hoja.getRange(filaActiva, 1, 1, hoja.getMaxColumns()).setBackground('#D3D3D3');
  hoja.getRange(1, columnaActiva, hoja.getMaxRows(), 1).setBackground('#D3D3D3');

  // Resaltar la celda activa
  celdaActiva.setBackground('#0000FF').setFontColor('white').setFontWeight('bold').setFontSize(12).setBorder(true, true, true, true, true, true);
}

Paso 3: Prueba y Optimización

  1. Prueba el Código:
  • Cambia de celda y observa cómo cambia el color de la celda activa, la fila y la columna.
  1. Optimización:
  • Si notas que tu hoja se vuelve lenta, considera limitar el uso del activador onSelectionChange solo a ciertas áreas de tu hoja de cálculo.
  • Puedes agregar condiciones para que el activador se ejecute solo en ciertas hojas o rangos específicos.

Conclusión

Hemos creado un indicador de celda en Google Sheets que resalta la celda activa, la fila y la columna. Este indicador es útil para mejorar la visualización de datos en gráficos y informes. ¡Espero que este tutorial te haya sido útil! Si tienes preguntas o ideas de cómo mejorar este código, no dudes en dejarlas en los comentarios.

¡Muchas gracias y nos vemos en el próximo tutorial!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This