Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
Cree un menú personalizado en Google Sheets / Apps Scripts para ocultar y mostrar la columna en función de quién está navegando por la hoja

Tengo un informe masivo de Google Sheet que contiene muchas métricas. Mucha gente en mi empresa tiene acceso a este informe y todos quieren ver diferentes métricas.

Por lo tanto, estoy tratando de crear un botón en la parte superior del informe que oculte/muestre las columnas según la persona que esté examinando el informe.

 function onOpen(){ const ui = SpreadsheetApp.getUi(); ui.createMenu('Column Creation') .addItem('Add Column', 'insertColumn') .addToUi(); ui.createMenu('View 👀') .addItem('Patrick View', 'HideColumns') .addItem('Karen View', 'HideColumns') .addItem('Umesh View', 'HideColumns') .addItem('Unhide everything', 'HideColumns') .addToUi(); function insertColumn() var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('KW'); [...] //this is another function to insert a column

Sé que necesito usar sheet.hideColumns(1) y sheet.showColumns (2), pero no estoy seguro de cómo agregar todo esto. ¿Debo crear diferentes variables para cada vista? También en este momento, mi código está ejecutando ambas acciones al mismo tiempo (creación de columnas + ocultar/mostrar columnas) ¿cómo puedo separar esto?

Para resumir quiero:

  1. Un menú personalizado "Ver 👀" con 2 elementos:
  • "Patrick View": muestra todas las columnas pero oculta la columna 1 y 2
  • "Karen View": muestra todas las columnas pero oculta las columnas 4 y 6
  1. Un menú personalizado "Creación de columnas" con 1 elemento:
  • "Agregar columna" (este script ya funciona pero se ejecuta al mismo tiempo que el primer menú personalizado, por lo que cuando hago clic, oculta la columna y crea una nueva)

Espero que mis explicaciones no sean demasiado complicadas, ¡gracias de antemano por cualquier ayuda!

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Probar

 var sh = SpreadsheetApp.getActiveSheet() function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu('Column Creation') .addItem('Add Column', 'insertColumn') .addToUi(); ui.createMenu('View 👀') .addItem('Patrick View', 'hideColumnsP') .addItem('Karen View', 'hideColumnsK') .addItem('Unhide everything', 'showColumns') .addToUi(); } function showColumns() { sh.unhideColumn(sh.getRange(1, 1, 1, sh.getLastColumn())) } function hideColumnsP(){ showColumns() sh.hideColumns(1,2) } function hideColumnsK(){ showColumns() sh.hideColumns(4,3) }

¡Tenga en cuenta que solo una persona estará activa a la vez!

about 4 years ago · Santiago Gelvez Denunciar

0

No es posible ocultar/mostrar columnas solo para ciertos usuarios

Una vez que un usuario muestra una columna oculta, esta columna también dejará de estar oculta para todos los demás espectadores (después de un tiempo de propagación de unos segundos).

Una solución sería que cada usuario tuviera su hoja de cálculo personal que importe los datos de interés de la hoja de cálculo maestra a través de ImportRange . Eso sería óptimo para ver. Sin embargo, si los usuarios también deben modificar los datos, las cosas se complicarán más, ya que los datos modificados deben sincronizarse con la hoja de cálculo maestra y pueden surgir conflictos si varios usuarios modifican los datos simultáneamente en sus hojas de cálculo locales.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda