Google Sheet Apps脚本:如何编辑下面的Apps脚本,以便仅将数据从A列复制到L列并将P列复制到S列? [英] Google Sheet Apps Script: How do I edit the Apps Script below to only copy over data from Column A to L and P to S?

查看:101
本文介绍了Google Sheet Apps脚本:如何编辑下面的Apps脚本,以便仅将数据从A列复制到L列并将P列复制到S列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何编辑下面的Apps脚本,以仅将数据从A列复制到L列并将P数据复制到S列? (基本上,我希望它跳过M,N,O列以及S之后的所有列.

How do I edit the Apps Script below to only copy over data from Column A to L and P to S? (Basically, I want it to skip Column M, N, O and all the columns after S.

function onEdit(event) {
  // assumes source data in sheet named Tab 1
  // target sheet of move to named Tab 2
  // test column with yes/no is col 20 or T
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Tab 1" && r.getColumn() == 20 && r.getValue() == "yes") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Tab 2");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }
}

预先感谢您, 最好的祝福, 罗伯特

Thank you in advance, Best regards, Robert

推荐答案

将两个范围(A-LP-S)分别复制到不同的目标范围,如下所示:

Copy both ranges (A-L, P-S) separately to the different target ranges, as shown here:

function onEdit(e) {
  //e.source.toast("Entry");
  //console.log(JSON.stringify(e));
  const sh=e.range.getSheet();
  if(sh.getName()=="Sheet1" && e.range.columnStart==20 && e.value=="TRUE") {
    const tsh=e.source.getSheetByName('Sheet2');
    const nr=tsh.getLastRow()+1;
    sh.getRange(e.range.rowStart,1,1,12).moveTo(tsh.getRange(nr,1,1,12));
    sh.getRange(e.range.rowStart,16,1,4).moveTo(tsh.getRange(nr,16,1,4));
    sh.deleteRow(e.range.rowStart);
  }
}

注意:我使用了"Sheet1"和"Sheet2",并且还对复选框使用了标准值,而不是"yes"和"no".我还使用了"e"而不是"event",并且使用了事件对象中可用的数据.

Note: I used 'Sheet1' and 'Sheet2' and I also used standard values for check boxes instead of 'yes' and 'no'. I also used 'e' instead of 'event' and I used the data that is available in the event object.

这篇关于Google Sheet Apps脚本:如何编辑下面的Apps脚本,以便仅将数据从A列复制到L列并将P列复制到S列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆