2017-03-15 4 views
0

シートの最後の行、最後の列の値を見つけようとしている関数を実行していて、この値を範囲値の一部として使用しています。私のテストシートでは、最後の列、最後の行の値は3です。 行45と46は、同じシート上でアクティブシートの名前を変更するために使用している別の関数のものです。この関数は正常に機能します。つまり、スクリプトは番号3を見つけ、アクティブなシートの名前を3に変更します。 行56は、静的な値を使用するときにスクリプトが正しく機能することを示しています。 Line 57は、getLastRowおよびgetLastColumnメソッドを使用して、この番号をgetRange値の一部として挿入しようとしました。このスクリプトを実行すると、「範囲が見つかりません」というエラーがスローされます。 行55の "Logger.log"の値が3.0で、スクリプトがその時点まで実行されていることを示しています。私はエラーが行57から来ていると結論づけます。 質問: 1.(lastCell、getValue())値を使用してできないことをしようとしていますか?前述したように、値は3ではなく3.0であるが、これは45行目と46行目で有効である。 2.これを行うことができれば、情報を間違ってフォーマットするのか?私はLine 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()) 
関連する問題