Javascript 将数据从一张图纸复制到另一张图纸;使用目标工作表中复制的数据创建表

Javascript 将数据从一张图纸复制到另一张图纸;使用目标工作表中复制的数据创建表,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我试图找到一个脚本,在这个脚本中,我可以从特定单元格中的电子表格复制数据,然后将其粘贴到同一电子表格中的不同选项卡中 复制和粘贴信息后,我将运行脚本删除源选项卡中的数据,以便键入新信息。(我已经有了擦除代码) 其思想是,可以在目标工作表上生成一个表,其中包含在源工作表中输入的信息 例如: 我想分别将源表中的单元格B2、C4和D6复制到目标表中的单元格B2、B3和B4。 然后,在第二个实例中,复制的数据应该粘贴在源工作表中,但粘贴在单元格C2、C3和C4中,依此类推 我会首先将源工作表中的数据放入

我试图找到一个脚本,在这个脚本中,我可以从特定单元格中的电子表格复制数据,然后将其粘贴到同一电子表格中的不同选项卡中

复制和粘贴信息后,我将运行脚本删除源选项卡中的数据,以便键入新信息。(我已经有了擦除代码)

其思想是,可以在目标工作表上生成一个表,其中包含在源工作表中输入的信息

例如:

我想分别将源表中的单元格B2、C4和D6复制到目标表中的单元格B2、B3和B4。
然后,在第二个实例中,复制的数据应该粘贴在源工作表中,但粘贴在单元格C2、C3和C4中,依此类推

我会首先将源工作表中的数据放入一个数组中。然后将其发送到目标工作表上所需的范围

这是一种方法,我对编程相当陌生,所以可能有更好的方法

我假设你在A2、A3和A4的目标表中有数据

function myFunction() {
  var sSheet = SpreadsheetApp.getActive().getSheetByName('SOURCE')
  var tSheet = SpreadsheetApp.getActive().getSheetByName('TARGET')
  var SourceD = sSheet.getDataRange().getValues()
  var SourceArray = [[SourceD[1][1]],[SourceD[3][2]],[SourceD[5][3]]]
  var LastC = tSheet.getLastColumn()
  tSheet.getRange(2, LastC+1,3).setValues(SourceArray)  
}
这应该让你开始。该脚本将源工作表上的所有数据放入一个数组中,然后选择所需内容。在此之后,您只需在该函数的末尾插入
EraseInfo()
,一旦复制完数据,它将擦除源工作表上的信息

同样,有很多方法可以做到这一点,这是一个我会使用

编辑:回答下面的评论

要做到这一点,您必须更改代码的三条底线。这是一种简单的方法,假设A列和B列的数据相同,并且标题至少为A1。您可以在
“数据A”
“数据B”


如果我想获得按行而不是按列收集的信息,我应该如何更改代码?(目前的情况)。e、 g.从源代码中的同一位置获取信息,但将其发送到C2、D2和E2中的目标@布莱斯
function myFunction() {
  var sSheet = SpreadsheetApp.getActive().getSheetByName('SOURCE')
  var tSheet = SpreadsheetApp.getActive().getSheetByName('TARGET')
  var SourceD = sSheet.getDataRange().getValues()
  var SourceArray = [[SourceD[1][1]],[SourceD[3][2]],[SourceD[5][3]]]
  var LastC = tSheet.getLastColumn()
  tSheet.getRange(2, LastC+1,3).setValues(SourceArray)  
}
function myFunction() {
  var sSheet = SpreadsheetApp.getActive().getSheetByName('SOURCE')
  var tSheet = SpreadsheetApp.getActive().getSheetByName('TARGET')
  var SourceD = sSheet.getDataRange().getValues()
  var SourceArray = [["Data A", "Data B",SourceD[1][1],SourceD[3][2],SourceD[5][3]]]
  var LastR = tSheet.getLastRow()
  tSheet.getRange(LastR+1, 1,1,5).setValues(SourceArray)  
}