亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于 TEXT 消息框從多個工作表中刪除行

基于 TEXT 消息框從多個工作表中刪除行

九州編程 2022-09-23 16:42:10
希望根據輸入框更改此腳本以處理多個工作表(工作表1,工作表2,工作表3)。我能夠通過在腳本中單獨調用每個名稱,然后根據文本執行添加來將名稱添加到工作表中,但是我不知道如何刪除。這是我從莫格斯塔德那里找到的腳本,我希望能工作。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 DATA_SHEET =    SpreadsheetApp.getActiveSpreadsheet()                  .getActiveSheet();  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) {            ss.deleteRow(i);        deleted_rows++;      }      i--;    }  }  ss.toast("Done! " + deleted_rows + ' rows removed', "", 5);}
查看完整描述

1 回答

?
慕絲7291255

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);

}


查看完整回答
反對 回復 2022-09-23
  • 1 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號