从1张纸中复制值并将值设置到另一张纸的最后一行

用户198561

我知道以前已经做过,但是我正在努力使我的工作正常,我想将所有数据从“模板”工作表复制到“历史”工作表。

我想将值发送到历史记录表底部的新行中。

这是我的工作代码,我只需要更改设置值的位置即可。

var sheetTemplate = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Template');
var sheetHistory = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('History');

var getRange = sheetTemplate.getDataRange();
var DataCopied = SRange.getValues();

sheetHistory.getRange("a2:F7").setValues(DataCopied);
奥科多娃

您正在使用getDataRange()getValues()方法,这将返回二维数组中存在数据的对应值,因此当您使用setValues()将值复制到新工作表时,您需要考虑到检索到的数据的大小以便它们匹配,您需要:

  1. 使用getLastRow()获取历史记录表的最后一个可用行
  2. 使用以下命令获取DataCopied数组的“高度” (行数)DataCopied.length
  3. 获取DataCopied数组的“宽度” (列数)DataCopied[0].length
  4. 使用getRange(row,column,numRows,numColumns)获得该尺寸范围
  5. DataCopied使用setValues()设置的值

您的代码应如下所示:

function myFunction(){
  var sheetTemplate = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Template');
  var sheetHistory = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('History');

  var getRange = sheetTemplate.getDataRange();
  var DataCopied = getRange.getValues();

  // I defined the variables for better understanding      
  var startRow = sheetHistory.getLastRow()+1; // +1 because remember that while a range index starts at 1, 1, the JavaScript array will be indexed from [0][0].
  var startColumn = 1;
  var numRows = DataCopied.length;
  var numColumns = DataCopied[0].length;
  sheetHistory.getRange(startRow, startColumn, numRows, numColumns).setValues(DataCopied);

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅将值从一张纸复制到另一张纸

从一张纸复制到另一张纸并复制到下一行

使用VBA将一行从一张纸复制到另一张纸

将Excel行从一张纸复制到另一张纸

将行从一张纸复制到另一张纸

VBA,使用标题名称将值从一张纸复制到另一张纸

将值从一张纸复制到另一张纸时出错

使用VBA将值从一张纸复制到另一张纸

如果该行包含数字列表中的任何数字,如何将一行从一张纸复制到另一张纸?

在同一工作簿中从一张纸到另一张纸计算功能值

如何将一张纸中的特定范围值粘贴/均衡到另一张纸中?

VBA检查是否在另一张纸中找到一张纸中的值

VBA代码复制并粘贴到另一张纸的最后一行

根据单元格中的值将数据从一张纸复制到另一张纸

如何使用VBA按照预定顺序将一张纸之间的值复制到另一张纸并将其粘贴到另一张纸上?

Excel VBA-从一张纸复制到另一张纸>仅复制一行

从一张纸到另一张纸排序行,跳过第一行

VBA - 将数据从一张纸复制到另一张纸

复制/粘贴范围从一张纸到另一张纸

将数据从一张纸复制到另一张纸的问题

VBA:从一张纸到另一张纸的多次复制和粘贴

根据多个条件在 VBA 中将随机唯一行从一张纸复制到另一张纸

VBA复制来自不同范围的粘贴值,并将其粘贴到同一张纸,同一行偏移列上(重复多张纸)

如果符合条件(相对行),则将数据从一张纸复制到另一张纸

将行(不是整行)从一张纸复制到另一张纸

将值从一张纸复制到另一张纸,然后将结果复制回另一列的同一张纸

将单元格值(非公式)从一张纸复制并粘贴到另一张纸

我如何从另一张纸复制行并将其粘贴到其中有表格的纸中?

Excel-识别一张纸中的值与另一张纸中具有不同范围的值