簡體   English   中英

Google工作表對特定工作表進行排序

[英]Google sheet sorting a specific sheet

工作表1 = SVerB帶領

希望在列1上進行自動排序

第2頁= Verjaardag

希望在第2列進行自動排序。

我發現了一個腳本,該腳本在編輯時會自動按字母順序對給定的列進行排序。 但是我想在第一列上排序一張表,在2列上排序另一張表。

我發現的腳本可用於所有工作表。 有可能以一種可行的方式更改它嗎?

 /**
 * Automatically sorts the 1st column (not the header row) Ascending.
 */
function onEdit(event){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 6;
  var tableRange = "B2:V500"; // What to sort.

  if(editedCell.getColumn() == columnToSortBy){   
    var range = sheet.getRange(tableRange);
    range.sort( { column : columnToSortBy, ascending: true } );
  }
}

嘗試這個:

function onEdit(event){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var editedCell = sheet.getActiveCell();
  var rngEdited = event.range;
  var sheetBeingEdited = rngEdited.getSheet().getName();
  Logger.log('rngEdited: ' + rngEdited);
  Logger.log('sheetBeingEdited: ' + sheetBeingEdited);

  var colEdited = editedCell.getColumn();
  var columnToSortBy;
  var tableRange;

  if (sheetBeingEdited === 'SVerB-leden') {
    columnToSortBy = 1;
    tableRange = "B2:V500"; // What to sort.
    if (colEdited === columnToSortBy) {
      sortColumn(columnToSortBy, tableRange, sheet);
    };
  } else if (sheetBeingEdited === 'Verjaardag') {
    columnToSortBy = 2;
    tableRange = "B2:V500"; // What to sort.
    if (colEdited === columnToSortBy) {
      sortColumn(columnToSortBy, tableRange, sheet);
    };
  };  
};

function sortColumn(colNmbr, rngToSort, sh) {
  var range = sh.getRange(rngToSort);
  range.sort( { column : colNmbr, ascending: true } );
};

此子項目在我所有的項目中均有效

function AutoSortOnEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
    ss.sort(1, false);   // Sorting by 1st column, change to 2 for the second //
  });
}

暫無
暫無

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

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