在Google表格之间自动复制数据

时间:2019-03-20 20:46:29

标签: google-apps-script google-sheets automation

我正在寻找一些自动在Google表格之间复制数据的帮助。

我有一个名为“当前数据”的工作表。该工作表的A-F列中有数据(带标题)。 列A包含用户名。 B-F列将具有使用以下方法从Instagram.com提取数据的公式:

= VALUE(REGEXEXTRACT(IMPORTXML(

我从此网站获得了公式: https://www.benlcollins.com/spreadsheets/import-social-media-statistics/

还有另一页称为“历史数据”。该工作表包含与“当前数据”(A-F,带标题)相同的列。 此工作表包含“当前数据”工作表中的所有数据,每天粘贴一次。

我当前的过程:

  • 打开工作表导航到“当前数据”工作表,从A2-FXXX复制值
  • 导航到“历史数据”表,滚动到下一个空白行,粘贴 数据。

我正在寻求自动化,并且每天都会发生。

我正在使用此脚本自动更新我的IMPORTXML函数。这很好。 Periodically refresh IMPORTXML() spreadsheet function

  • 我要将值从“当前数据表”复制到“历史数据” 数据表,使用此脚本。 copy and paste with google spreadsheet script
    • 此脚本也可以使用,但是它只是将第一行数据复制到目标位置。该脚本还清除了“当前数据”表中的数据。
    • 我删除了“ source.clear();”从代码,但 数据仍然被擦除。

我也尝试使用此脚本,因为有些人提到用户需要使用appendRow而不是copyTo。这段代码仍然没有运气:

function moveValuesOnlyy() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange("CurrentData!A2:F100");
  var destSheet = ss.getSheetByName("HistoricalData");
  destSheet.appendRow(source.getValues());
 }

最后,我正在寻找要执行的脚本:

  • 从A2开始查找并复制“当前数据”表中的数据范围。
  • 在“历史数据”表上找到下一个空行。
  • 粘贴为值。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下:

function copyPaste() {
  var ss=SpreadsheetApp.getActive();
  var srcsh=ss.getSheetByName('CurrentData');
  var dessh=ss.getSheetByName('HistoricalData');
  var srcrg=srcsh.getRange('A2:F100');
  var data=srcrg.getValues();
  var desrg=dessh.getRange(dessh.getLastRow() + 1,1,99,6);
  desrg.setValues(data);
}