1 回答

TA貢獻1859條經驗 獲得超6個贊
不是檢索活動工作表,而是遍歷所有工作表
目前,您定義
var DATA_SHEET = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
這將僅將您的請求應用于活動工作表
相反,您可以使用 ss.getSheets() 檢索電子表格的所有工作表,并在循環中依次定義每個可用工作表
DATA_SHEET
像以前一樣在循環中運行代碼的其余部分,只需小心刪除行:
如果有多個工作表,請更改為 刪除工作表中當前循環的行,而不是活動行
ss.deleteRow(i);
DATA_SHEET.deleteRow(i);
樣本:
function Deletename() {
var value_to_check =
Browser.inputBox(
"Enter First and Last Name to Delete",
"",
Browser.Buttons.OK_CANCEL);
var FIRST_COLUMN = 1
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for (var a = 0; a < sheets.length; a++){
var DATA_SHEET = sheets[a];
ss.toast("removing duplicates...", "", -1);
var dataCopy1 = DATA_SHEET.getDataRange().getValues();
var deleted_rows = 0;
if (dataCopy1.length > 0) {
var i = DATA_SHEET.getLastRow(); // start at bottom
while (i > 0) {
if (dataCopy1[i - 1][FIRST_COLUMN - 1] == value_to_check) {
DATA_SHEET.deleteRow(i);
deleted_rows++;
}
i--;
}
}
}
ss.toast("Done! " + deleted_rows + ' rows removed', "", 5);
}
添加回答
舉報