1
每次運行時,我都會在圖紙腳本編輯器中看到這個紅色燈泡消息。代碼有問題嗎?它似乎有效,執行時間並不長。紅色燈泡警告
方法Range.getValue頻繁使用由腳本
該腳本使用這被認爲是昂貴的方法。每次調用都會產生一個耗時的遠程服務器調用。這可能會對腳本的執行時間產生嚴重影響,尤其是對於大數據。如果性能是腳本的問題,則應考慮使用其他方法,例如Range.getValues()
function Merge() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Expense Index');
var lastrow=sheet.getLastRow();
var range = sheet.getRange("A1:F"+(lastrow+1));
var k=3;
for (var i = 4; i <=lastrow+1; i++) {
var val1=range.getCell(i-1, 1).getValue();
var val2=range.getCell(i, 1).getValue();
if(val1!==val2){
if(!(sheet.getRange('A'+k+':A'+(i-1)).isPartOfMerge())){
sheet.getRange('A'+k+':A'+(i-1)).mergeVertically();
range.getCell((i-1), 6).setValue('=SUM(E'+k+':E'+(i-1)+')');
}
k=i;
}
}
sheet.getRange("A1:F"+(lastrow+1)).setHorizontalAlignment('center');
sheet.getRange("A1:F"+(lastrow+1)).setVerticalAlignment('middle')
}
總noob,我似乎無法弄清楚如何循環對象,我試過了一堆東西,但經常得到這個錯誤。 TypeError:無法在對象中找到getCell函數費用 –
如何設置表單?我可以使用示例循環來更新以幫助解決問題。 – Brian
https://drive.google.com/open?id=1MUguO4w6CkeuOGToFBGffCKFV8skVt0FlKe7yCzip4A –