从当前 sheet 复制和粘贴范围的脚本

Script to copy and paste range from current sheet

我有一个脚本,一直用来复制和粘贴特定 sheet 上的一系列单元格。它工作得很好,但我怎样才能让同一个脚本在多个 sheet 上工作?

function dcopy1() {
var sheetFrom = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var sheetTo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");

// Copy from 177th row, 9th column 
var valuesToCopy = sheetFrom.getRange(177, 9, 17, 1).getValues();

//Paste to 5th row, 3rd column
sheetTo.getRange(5,3,valuesToCopy.length,1).setValues(valuesToCopy);
}

复制多张纸

function dcopy1() {
  const ss = SpreadsheetApp.getActive();
  const shto = ss.getSheetByName("MasterSheet");
  const incl = ["Sheet1", "Sheet2", "Sheet3"];//sheets to include by name
  ss.getSheets().filter(s => incl.includes(s.getName())).forEach(sh => {
    let vs = sh.getRange(177, 9, 17, 1).getValues();
    if (shto.getLastRow() < 5) {
      shto.getRange(5, 3, vs.length, vs[0].length).setValues(vs);
    } else {
      shto.getRange(shto.getLastRow() + 1, 3, vs.length, vs[0].length).setValues(vs);
    }
  })
}

嘿,因为你想将 相同 sheet 的值从源位置复制到目标位置:

function dcopy1() {
var sheetFrom = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var sheetTo = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

// Copy from 177th row, 9th column 
var valuesToCopy = sheetFrom.getRange(177, 9, 17, 1).getValues();

//Paste to 5th row, 3rd column
sheetTo.getRange(5,3,valuesToCopy.length,1).setValues(valuesToCopy);
}