2015-04-21 42 views
0

我正在嘗試在Google電子表格中編寫一個腳本,該腳本將從定義的單元格中讀取一個範圍,取其值和Insert行數作爲範圍指示,然後複製並粘貼單元格中由範圍值給定的特定範圍。insertRowsBefore()導致錯誤的方法:無法將(範圍)轉換爲類

顯然複製和粘貼範圍的值有效,但insertRowsBefore的範圍值無法轉換範圍值,任何想法爲什麼會發生這種情況?我得到這個錯誤

cannot convert (range) to class

這裏是腳本的樣子:

var insert =ss.getSheetByName("DataBase").insertRowBefore(r1); 

你把一個變量名r1到:

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}); 
} 

回答

1

問題是由該行未來參數,但參數必須是數字(整數),而不是字符串或範圍引用。變量r1不計算爲整數。這可能是一個字符串。

Google Documentation - insertRowBefore()

相關問題