使用google文档中的脚本添加现有单元格值

时间:2012-06-17 14:06:42

标签: google-apps-script google-sheets

我正在Google文档中制作电子表格,我可以在其中跟踪我的数据。我已经在单元格中输入了一些起始值,也有一些具有函数的单元格。我想创建一个脚本,将这些值添加到以前记录的列表中。

更清楚地解释一下。

我有一张价值表:

[A1] [B1] [C1] [D1]等。

[24.52] [12.84] [= A1-B1] [=(100 / A1)* B1]等。

按下按钮后,我希望将这些值添加到另一张表(首选)的列表中,或者在我已有的所有内容的同一张表中。编辑主表后,列表中的这些值不应再更改。

列表应该是这样的:

[.....] [.....] [.....] [......]< --- [...]这是以前的值添加的地方

[24.52] [12.84] [11.68] [52.36%]< ---最后添加值

新数据将添加到新行中。

我有一个脚本但是向单元格添加值时出现问题。当我按下那个按钮时它会添加#NAME?在评论“未知范围名称A16”的单元格中,不是它们的真实值。

我使用这个脚本 - 这个只在同一张纸上添加新值:

function AddRecord() {

  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var lastRow = doc.getLastRow();
  var cell = doc.getRange('A1').offset(lastRow, 0);
  cell.setValue('=A16');
  cell.offset(0, 1).setValue('=B16');
  cell.offset(0, 2).setValue('=C16');
  cell.offset(0, 3).setValue('=D16');
}

= A16,= B16,= C16,= D16是包含我需要的那些值的单元格,但我应该如何编写这个代码才能正确添加它们?

1 个答案:

答案 0 :(得分:2)

不确定,如果我完全理解你的问题。 要将“Tabellenblatt1”中最后一行的值复制到“Tabellenblatt2”中的新行,可以使用以下简单函数:

function myFunction() {
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var sheetFrom = doc.getSheetByName("Tabellenblatt1");
  var sheetTo = doc.getSheetByName("Tabellenblatt2");  
  var lastRow = sheetFrom.getLastRow();
  var cell = sheetFrom.getRange('A1').offset(lastRow, 0);
  var rowTo = sheetTo.getLastRow() + 1;
  for( var i = 1; i < 5; i++) {
     sheetTo.getRange(rowTo, i).setValue( sheetFrom.getRange(lastRow, i).getValue());
  }
}