我试图在谷歌电子表格中编写一个脚本,它将读取定义单元格中的一个范围,取其值和Insert
范围所指示的行数,然后复制并粘贴特定范围也由一个单元格中的范围值给出。
显然复制和粘贴范围值有效,但insertRowsBefore
的范围值无法转换范围值,任何想法为什么会发生这种情况?我收到此错误
无法将(范围)转换为类
这是脚本的样子:
function CopyActualvsWMS() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("ActualVsSystem");
var value0 = sheet.getRange('T4');
var r1 = value0.getValue();
var insert =ss.getSheetByName("DataBase").insertRowBefore(r1);
var value1 = sheet.getRange('T3');
var cr1 = value1.getValue();
var source = ss.getRange(cr1);
source.copyTo(ss.getRange("DataBase!a2"), {contentsOnly: true});
}
答案 0 :(得分:1)
问题来自这条线:
var insert =ss.getSheetByName("DataBase").insertRowBefore(r1);
您将变量名称r1
放入参数中,但参数必须是数字(整数),而不是字符串或范围引用。变量r1
不会计算为整数。它可能是一个字符串。