Следующий лист того же диапазона
function nextSheetSameRange() {
var ss=SpreadsheetApp.getActive();
var ash=ss.getActiveSheet();
var arg=ash.getActiveRange();
var argA1=arg.getA1Notation();
var shts=ss.getSheets();
for(var i=0;i<shts.length;i++) {
if(ash.getName()==shts[i].getName()) {
var currentIdx=i;
break;
}
}
if(currentIdx<shts.length-1) {
nextSh=shts[currentIdx+1];
}else{
nextSh=shts[0];
}
var nsh=ss.setActiveSheet(nextSh);
SpreadsheetApp.flush();
var nrg=nsh.getRange(argA1);
nsh.setActiveRange(nrg);
}
function makeSidebar() {
var ss=SpreadsheetApp.getActive();
var html='<input type="button" value="next" onClick="google.script.run.nextSheetSameRange()" />';
var userInterface=HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showSidebar(userInterface);
}
Инструкции
Запустите makeSidebar.Это создаст боковую панель с кнопкой, помеченной следующим.Вы должны сделать это только один раз.Мне нравится использовать боковую панель, поскольку она занимает всего один клик, и мне не нужно возиться с выпадающими меню.
Нажмите кнопку, и онапереместит один лист вправо и выберет тот же диапазон, что и текущий активный диапазон.Когда он дойдет до конца, он снова обернется к началу с тем же выбранным диапазоном.
Если у вас уже есть боковая панель, добавьте этот html в строку createHtmlOutput '<input type="button" value="next" onClick="google.script.run.nextSheetSameRange()" />'