【问题标题】:How do I copy values and paste them into the next available rows on another sheet?如何复制值并将它们粘贴到另一张纸上的下一个可用行中?
【发布时间】:2019-03-04 11:48:54
【问题描述】:

我对谷歌脚本很陌生,不是编码员。我已尝试查找我需要做的确切内容,但在 google 脚本中找不到。

我在一张纸上有公式,需要一个脚本将该表格中的值复制到另一张纸上的下一个可用行。

数据在工作表“订单信息”单元格 H40 到 AC67 上。 我需要将值复制到工作表“分布式订单列表”上的下一个可用行,从 A 列第 2 行开始 - 如果相关的话。

到目前为止,这是我所拥有的,但问题是它需要大约一分钟才能运行:

function enterorder2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange("Order Info!h40:ac40");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h41:ac41");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h42:ac42");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h43:ac43");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h44:ac44");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h45:ac45");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h46:ac46");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h47:ac47");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h48:ac48");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h49:ac49");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h50:ac50");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h51:ac51");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h52:ac52");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h53:ac53");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h54:ac54");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h55:ac55");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h56:ac56");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h57:ac57");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h58:ac58");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h59:ac59");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h60:ac60");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h61:ac61");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h62:ac62");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h63:ac63");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h64:ac64");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h65:ac65");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h66:ac66");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
  var source = ss.getRange("Order Info!h67:ac67");
  var destSheet = ss.getSheetByName("Distributed Order List");
  destSheet.appendRow(source.getValues()[0]);
};

我已经尝试过了,但我不知道如何将我的值放入其中而不是“1,2,3 4,5,6 7,8,9”:

function enterorder() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var destSheet = ss.getSheetByName("Distributed Order List");
  var source = [[1,2,3],[4,5,6],[7,8,9]];
  var row = source.length;
  var column = source[0].length;
  destSheet.getRange(destSheet.getLastRow()+1, 1, row, column).setValues(source);
};

【问题讨论】:

  • this 回答你的问题了吗?

标签: google-apps-script


【解决方案1】:

其实你已经很接近答案了:)。

希望每次运行脚本时都不会从“订单信息”选项卡的 H40 到 AC67 范围内复制其他数据,
我正在使用 getDataRange(),它从“订单信息”选项卡中获取所有可用数据,并提供给代码中的 var 源。

function enterorder() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var destSheet = ss.getSheetByName("Distributed Order List");
//var source = [[1,2,3],[4,5,6],[7,8,9]];
var source = ss.getSheetByName("Order Info").getDataRange(); // data feeding
var row = source.length;
var column = source[0].length;
destSheet.getRange(destSheet.getLastRow()+1, 1, row, column).setValues(source);
};

希望对你有帮助

已编辑:

然后使用

var source = ss.getSheetByName("订单信息").getRange("H40:AC67").getValues();

代替

var source = ss.getSheetByName("订单信息").getDataRange();

这将从源工作表创建所需的范围限制

【讨论】:

  • 在您的脚本中,您在哪里定义要复制的范围?页面还有其他数据,所以我只想将单元格H40复制到AC67。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2020-06-12
  • 2019-01-17
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
相关资源
最近更新 更多