2015-10-30 120 views
0

我有一個谷歌電子表格腳本的範圍。谷歌電子表格腳本「細胞參考超出範圍」

var thisClientOutputRange = outputSheet.getRange(thisClientStartRow,thisClientStartColumn, monthsToSim + 3, 1); 
Logger.log(thisClientOutputRange.getA1Notation()); 

輸出是:

[15-10-29 18:43:06:461 GALT] B7:B57 

這也正是我打算解決這個特定的客戶端(目前在for循環中循環的)的範圍。

我可以做

var thisClientOutputNameRange = thisClientOutputRange.getCell(1,1); 
thisClientOutputNameRange.setValue(thisClientName); 

而且我可以在B7看到正確的值。現在的問題是,如果我嘗試做

var thisClientOutputNameRange = thisClientOutputRange.getCell(1,2); 

我得到的錯誤Cell reference out of range正好這條線。我需要在C7上寫點東西。

按照getCell文檔:

var range = sheet.getRange("B2:D4");

//行和列在這裏是相對於範圍。

// getCell(1,1)在此代碼返回在B2單元格,B2

我必須有一個非常愚蠢的錯誤,但我不能找到它。任何想法可能會出現我的邏輯錯誤?

謝謝

回答

1

範圍的getCell(row,column)方法返回範圍內的單元格。行和列的座標是相對於範圍的。在getCell(1,2)的示例中,row = 1和column = 2表示範圍第一行和第二列的單元格。但是,範圍B7:B57只有一列。因此,單元格引用超出了範圍。

+0

就這麼簡單。謝謝。我的錯誤是在'outputSheet.getRange'聲明中,我切換了最後2個參數。 – otmezger

+0

它應該是:var thisClientOutputRange = outputSheet.getRange(thisClientStartRow,thisClientStartColumn,1,monthsToSim + 3);' – otmezger

相關問題