简体   繁体   English

如何复制值并将其粘贴到另一张纸上的下一个可用行中?

[英]How do I copy values and paste them into the next available rows on another sheet?

I'm pretty new to google script and am not a coder. 我是Google脚本的新手,不是编码员。 I've tried looking up exactly what I need to do but can't find it in google script. 我已经试过确切地查找我需要做的事,但是在Google脚本中找不到它。

I have formulas in one sheet and need a script to copy values from that table to the next available row(s) on another sheet. 我在一张纸上有公式,并且需要一个脚本来将值从该表复制到另一张纸上的下一个可用行。

The data is on sheet "Order Info" cells H40 to AC67. 数据在表格“订单信息”单元格H40至AC67上。 I need to copy the values to the next available row on sheet "Distributed Order List", starting in column A, row 2 - if that's relevant. 我需要将值复制到工作表“ Distributed Order List”上的下一个可用行,从A列第2行开始-如果相关的话。

Here's what I have so far that works, but the problem is that it takes about a minute to run: 这是到目前为止我可以使用的,但是问题是运行大约需要一分钟:

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]);
};

I've tried this, but I don't know how to get my values into this instead of "1,2,3 4,5,6 7,8,9": 我已经尝试过了,但是我不知道如何将我的值变成“ 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);
};

Actually you are very close to answer :) . 实际上,您非常接近回答:)。

Hoping there is no other data to be copied from "Order Info" tab's range H40 to AC67 every time you run the script, 希望每次运行脚本时都没有其他数据要从“订购信息”标签的范围H40复制到AC67,
I'm using getDataRange() which gets all available data from "Order Info" tab and feeds to var source in your code. 我正在使用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);
};

Hope this helps 希望这可以帮助

Edited: 编辑:

Then use 然后使用

var source = ss.getSheetByName("Order Info").getRange("H40:AC67").getValues(); var source = ss.getSheetByName(“ Order Info”)。getRange(“ H40:AC67”)。getValues();

Instead of 代替

var source = ss.getSheetByName("Order Info").getDataRange(); var source = ss.getSheetByName(“ Order Info”)。getDataRange();

This will create the required range restriction from the source sheet 这将从源工作表创建所需的范围限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 复制一个范围并仅将带有值的行粘贴到下一个空白行的另一个工作表中? - Copy a range and paste only rows with values into another sheet at the next blank row? 如何使用 Google Sheets Macros 从一张工作表复制值并将它们粘贴到另一张工作表中? - How to copy values from one sheet and paste them into another using Google Sheets Macros? 如何使用 Google 脚本从 1 个 Google 工作表中复制特定值并粘贴到另一个工作表? - How can I copy specific values from 1 Google Sheet and paste to another Sheet using Google Script? 复制粘贴到另一张纸 - Copy Paste to another sheet 使用 AppScript 将行从一张表复制粘贴到另一张比较单元格值以避免重复 - Copy-Paste rows from one sheet to another comparing cell values to avoid duplicates using AppScript 将多行复制并粘贴到另一张纸上的下一个空行中 - Copying and Paste multiple rows into next empty Row on another sheet 复制包含特定值的行并将其粘贴到另一个工作表 - copy rows that contains certain value and paste it to another sheet 将粘贴复制到另一张纸并找到没有空行的最后一行 - Copy paste to another sheet and find last row without empty rows 如何从一个Google工作表标签复制/粘贴到另一个Google工作表并指定目标Google工作表中的标签? - How do you copy/paste from one Google Sheet Tab, to another google sheet and specify the tab in the target google sheet? Google Apps脚本-如何将列复制到下一个可用列的另一个工作表 - Google Apps Script - How to copy a column(s) to another sheet at next available column
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM