簡體   English   中英

谷歌應用程序腳本:自動排序功能與所選工作表上的范圍

[英]Google App Script: AutoSort Function with range on selected sheet

我試圖實現的結果是根據日期以升序對整行進行自動排序,包括新條目。 現在我只能應用到 GSheet 選項卡中的 1 個,我正在嘗試應用到其他選定的工作表選項卡,但找不到方法。 請問有什么解決辦法嗎? 謝謝!

SHEET_NAME = "Sheet1";
SORT_DATA_RANGE = "A2:Z";
SORT_ORDER = [
{column: 3, ascending: true}, // 3 = column number, sort by ascending order  
// {column: 3, ascending: false}, // 3 = column number, sort by decending order  
];


//Note pop-up appear when Sorting is completed
function onEdit(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
  ss.toast('Sort action executed.');
}

要按指定范圍和選項對所有工作表進行排序,請嘗試:

function multiSortColumns() {
  
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet()

  spreadsheet.getSheets()
             .forEach(sheet => sheet.getRange(SORT_DATA_RANGE).sort(SORT_ORDER))

  spreadsheet.toast('Sort action executed.')

}

要對特定工作表進行排序,請嘗試:

function multiSortColumns() {
  
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
  const targetSheets = [`Sheet1`, `Sheet2`, `Sheet3`]

  targetSheets.forEach(sheetName => {
    spreadsheet.getSheetByName(sheetName)
               .getRange(SORT_DATA_RANGE)
               .sort(SORT_ORDER)
  })

  spreadsheet.toast('Sort action executed.')

}

暫無
暫無

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

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