复制并粘贴行并删除某些单元格

时间:2019-05-13 11:36:38

标签: google-apps-script google-sheets

我正在尝试将粘贴(A3:S3)行复制到工作表的下一个空闲行。 使用以下代码可以正常工作。 我现在想做的是删除单元格C3-K3。

function copypastescript() {
var reference = 'Definitionstabelle!A2'; 
    var rng = SpreadsheetApp.getActiveSpreadsheet().getRange(reference);
    rng.setValue(rng.getValue()+1);
    var ss = SpreadsheetApp.getActiveSpreadsheet ();
    var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var source = ss.getRange ("Definitionstabelle!A3:S3");
    var destSheet = ss.getSheetByName("Definitionstabelle");
    var values = source.getValues().filter(function(e) {return e.some(function(f) {return f})});
destSheet.getRange(destSheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
}

1 个答案:

答案 0 :(得分:0)

第一季度的答案:

  • 复制“ A3:S3”的值后,要删除Definitionstabelle表的单元格“ C3:K3”。

如果我的理解是正确的,那么该修改如何?

修改后的脚本:

请在destSheet.getRange(destSheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);之后添加以下脚本。

ss.getRange ("Definitionstabelle!C3:K3").clearContent();

ss.getRange ("Definitionstabelle!C3:K3").clear();

参考文献:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

第二季度的答案:

  

一些代码,用于在删除C3:I3和K3之前复制K3并将其粘贴到J3中

  • 您要将“ K3”的值复制到工作表“ Definitionstabelle”的“ J3”。
  • 您要在删除单元格“ C3:K3”的值之前进行复制。

根据您的情况,是否应该在从“ K3”到“ J3”的副本之前复制“ A3:S3”?

如果我的理解正确,那么该修改如何?

请在ss.getRange ("Definitionstabelle!C3:K3").clear();之前放置以下脚本。

修改后的脚本:

function copypastescript() {
  var reference = 'Definitionstabelle!A2'; 
  var rng = SpreadsheetApp.getActiveSpreadsheet().getRange(reference);
  rng.setValue(rng.getValue()+1);
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var source = ss.getRange ("Definitionstabelle!A3:S3");
  var destSheet = ss.getSheetByName("Definitionstabelle");

  // Added
  destSheet.getRange("K3").copyTo(destSheet.getRange("J3"), {contentsOnly:true}); // or destSheet.getRange("K3").copyTo(destSheet.getRange("J3"))

  var values = source.getValues().filter(function(e) {return e.some(function(f) {return f})});
  destSheet.getRange(destSheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);

  // Added
  ss.getRange ("Definitionstabelle!C3:K3").clearContent(); // or ss.getRange ("Definitionstabelle!C3:K3").clear()
}

参考: