Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!