2017-03-15 44 views
0

我正在運行一個函數,我試圖找到最後一行的值,表格的最後一列,並將此值用作範圍值的一部分。在我的測試表中,最後一列的最後一行值是數字3. 第45行和第46行來自於我在同一張紙上用來重命名活動紙張的另一個功能。此功能正常工作,即腳本找到數字3並將活動工作表重命名爲3. 第56行顯示腳本在使用靜態值時正常工作。 第57行是我嘗試使用getLastRow和getLastColumn方法插入此數字作爲getRange值的一部分。當我運行這個腳本時,它會拋出一個錯誤「未找到範圍」。 第55行的「Logger.log」值爲3.0,表明該腳本正在運行到該點。我的結論是錯誤來自第57行。 問題: 1.我正在嘗試使用(lastCell,getValue())值無法完成的事情嗎?如前所述,值爲3.0而不僅僅是3,但這對於第45行和第46行起作用。 2.如果可以這樣做,我是不正確地格式化信息的嗎?我也嘗試通過添加「+」號來將第57行寫爲('A:A +(lastCell.getValue())')。 感謝您的任何幫助!我可以使用(lastCell,getValue)中的值作爲範圍的值嗎?

45 // SpreadsheetApp.setActiveSheet(ss.getSheetByName('Copy of Sheet1')); 
46 // SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(lastCell.getValue()); This works OK!!! 
47 // 
48 // Next need to make the next row have columnA and last Column data added 
49 // 
50 var ss = SpreadsheetApp.getActiveSpreadsheet(); 
51 var sheet = ss.getSheetByName('Master FCR Listing');//ss.getSheets()[1]; 
52 var lastColumn = sheet.getLastColumn(); 
53 var lastRow = sheet.getLastRow(); 
54 var lastCell = sheet.getRange(lastRow, lastColumn); 
55 Logger.log(lastCell.getValue());// Shows a value of 3.0 ?? This the problem?? 
56 //* sheet.getRange('A:A3').copyTo(sheet.getRange('A:A4')); //. This works! 
57 sheet.getRange('A:A(lastCell.getValue())').copyTo(sheet.getRange('A:A4'));//A4 will be +1! 

回答

0

替換

sheet.getRange('A:A(lastCell.getValue())') 

sheet.getRange('A:A'+(lastCell.getValue())) 

傳遞的範圍內的字符串格式。

+0

非常感謝您的合作! –

0

您正在傳遞lastCell.getValue()作爲字符串,因爲您沒有關閉引號。

sheet.getRange('A:A(lastCell.getValue())') 

你應該調用lastCell之前關閉引號:

sheet.getRange('A:A' + lastCell.getValue()) 
相關問題