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

158
Vistas
Lista desplegable con nombres de hojas. Necesito configurar la hoja activa en una función basada en la selección en el menú desplegable

Estoy atascado. Tengo una hoja de cálculo con una lista desplegable que contiene los nombres de las hojas. ¿Es posible dentro de una función configurar la hoja de cálculo activa para que coincida con la selección desplegable?

 function getNextCell() { // Active sheet should reflect dropdown selection // to find first empty cell of that sheet by dropdown var sheetTo = SpreadsheetApp.getActiveSheet(); var myValues = sheetTo.getRange('A:A').getValues(); var i; for (i = 0; i < myValues.length; i++) { if (myValues[i][0] === '') return i + 1; } return i + 1; }

Hoja de muestra actualizada para mostrar el trabajo actual: https://docs.google.com/spreadsheets/d/1befqsGQvbPfn0XTGrygLOGcrUIMrICUagJVH0S-2rDw/edit?usp=sharing

Debo mencionar que probé una matriz pero eso no funcionó para mí. Es posible que lo haya estado utilizando mal, pero no estoy seguro.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Intenta usar esto onEdit (e)

 function onEdit(e) { const sh = e.range.getSheet(); if(sh.getName() == "Dropdown" && e.range.columnStart == 8 && e.value) { e.source.getSheetByName(e.value).activate(); } }

También puede crear la lista de todos los nombres de hojas para la validación de datos en la columna H con esto:

 function makeColumnDropDown(col = 8) { const ss = SpreadsheetApp.getActive(); const list = ss.getSheets().map(sh => sh.getName()); const r = SpreadsheetApp.newDataValidation().requireValueInList(list); const sh = ss.getSheetByName("Dropdown"); sh.getRange(1,col,100).setDataValidation(r); }

Si desea omitir algunos, también puede agregar un método .filter a la tercera línea y excluir una lista de nombres de archivo. Solo pregunta yo te muestro.

La siguiente fila vacía es columnHeight + 1

 function getColumnHeight(col, sh, ss) { var ss = ss || SpreadsheetApp.getActive(); var sh = sh || ss.getActiveSheet(); var col = col || sh.getActiveCell().getColumn(); var rcA = []; if (sh.getLastRow()){ rcA = sh.getRange(1, col, sh.getLastRow(), 1).getValues().flat().reverse(); } let s = 0; for (let i = 0; i < rcA.length; i++) { if (rcA[i].toString().length == 0) { s++; } else { break; } } return rcA.length - s; }
about 4 years ago · Juan Pablo Isaza 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