簡體   English   中英

通過從另一個工作表觸發的腳本刪除工作表中的單元格。 [谷歌工作表腳本]

[英]Delete Cells in sheets via script that is triggered from another sheet. [google sheet script]

對於包含多張工作表的電子表格,我有一個腳本,通過該腳本,我只需按一下按鈕就可以刪除特定范圍內所有工作表中的數據。

現在我有一個主電子表格,它鏈接到其他幾個電子表格(以及它們包含的表格)(導入范圍、查詢等)。

是否可以通過按下連接的電子表格中的按鈕通過腳本刪除某些范圍內的數據,我想從主電子表格中觸發它?!

要使用腳本從工作表中刪除的數據是手動用戶輸入,因此不是來自主電子表格。 Sheet 1.A 和 1.B 應刪除的范圍/單元格不同

附上一張圖以便更好地理解:

圖形

到目前為止,我的腳本是:

    function onOpen() {

  SpreadsheetApp.getUi()

    .createMenu('Delete User Input Data')

    .addItem(

      'Delete Data now',

      'userActionResetMultipleSheetsByRangesAddresses'

    )

      .addToUi();

}

function userActionResetMultipleSheetsByRangesAddresses() {

  var sheetNames = [

    { name: 'Sheet1.A', rangesAddressesList: ['Y3:AG99'] },

    { name: 'Sheet1.B', rangesAddressesList: ['AI3:AX99'] },

    ];

  sheetNames.forEach(function(sn) {

    var sheet = SpreadsheetApp.getActive().getSheetByName(sn.name);

    if (sheet) {

      resetByRangesList_(sheet, sn.rangesAddressesList);

    }

  });

}

function resetByRangesList_(sheet, rangesAddressesList) {

  sheet.getRangeList(rangesAddressesList).clearContent();

}

我想你可以使用這樣的東西:

function userActionResetMultipleSheetsByRangesAddresses() {
  var ss=[{id:'',name:'Sheet1.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet1.B',rangesAddressesList: ['AI3:AX99'] },
          {id:'',name:'Sheet2.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet2.B',rangesAddressesList: ['AI3:AX99'] },
          {id:'',name:'Sheet3.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet3.B',rangesAddressesList: ['AI3:AX99'] }
         ];
  ss.forEach(function(e) {
    var sheet = SpreadsheetApp.openById(e.id).getSheetByName(e.name);
    if(sheet){
      sheet.getRangeList(e.rangesAddressesList).clearContent();
    }
  });
}

您只需添加電子表格 ID 並更正其余的工作表名稱和范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM