复制到可变范围

时间:2016-06-06 22:52:47

标签: variables google-sheets copy range paste

我有这段代码

function ArchiveData() {
  var sss = SpreadsheetApp.openById('1TDFUBUnW...'); // sss = spreadsheet
  var source = sss.getRange('Code!D5:F78'); // source = source sheet
  //copy to target
    var cnumber = sss.getSheetByName("Code").getRange('F3').getValue; // Column number
    source.copyTo(sss.getSheetByName("S-28").getRange(5,cnumber), {contentsOnly: true});
}

错误:在最后一行代码中保留返回错误。当我输入数字而不是使用类cnumber时,它可以工作。

在细胞' Code!F3'我想指定哪个是目标列号。这是由用户选择的月份指定的变量。例如,对于九月,cnumber类返回:3,十月它的7,十一月是11,十二月是15, 1月是19, 2月是23,3月是27,依此类推......一直到8月。

所以,我的目标是最终告诉脚本粘贴复制值的位置。但是,需要粘贴的列在所选月份会有所不同。

1 个答案:

答案 0 :(得分:0)

这行代码很奇怪:

var rownumber = shcl.getRange('Code!F3').getValues. 

请尝试使用getValue()

此代码不正确:

tss.getRange('S-28!'&rownumber)

将其更改为tss.getRange('S-28!' + rownumber)