Tengo este script funcionando bien, pero no estoy seguro de cómo hacer que se ejecute en todas las pestañas que no estén etiquetadas como "Principal". ¡Gracias por adelantado!
function hideRows() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName("Dude"); // Enter sheet name var row = s.getRange('A2:A').getValues(); // Enter column letter that has the text "hide" and "unhide" var cell = s.getRange('A1').getValue(); s.showRows(1, s.getMaxRows()); for(var i=0; i < row.length; i++){ if(row[i] != cell) { s.hideRows(i+2, 1); } // Value to hide } }Jerónimo
Supongo que está ejecutando el disparador onEdit.
function hideRows(e) { const s = e.range.getSheet(); if(s.getName() == "Main") return; var row = s.getRange(2,1,s.getLastRow() -1 ).getValues().flat(); var cell = s.getRange('A1').getValue(); s.showRows(1, s.getLastRow()); for (var i = 0; i < row.length; i++) { if (row[i] != cell) { s.hideRows(i + 2, 1); } } }Quiere excluir más hojas
function hideRows(e) { const s = e.range.getSheet(); const ex = ['Main','Sheetx'];//excluded sheet names const idx = ex.indexOf(s.getName()); if(~idx) return; var row = s.getRange(2,1,s.getLastRow() -1 ).getValues().flat(); var cell = s.getRange('A1').getValue(); s.showRows(1, s.getLastRow()); for (var i = 0; i < row.length; i++) { if (row[i] != cell) { s.hideRows(i + 2, 1); } } }