[英]Google Sheets copy function
我制作了這個 function,我在下面的這篇文章中包含了這個 function,當我點擊我在新 Inv Entry 中制作的 Save 按鈕時,將特定單元格從 New Inv Entry 表復制到 Invoices 表。 我已經在 Invoices 表中手動輸入了數據,但問題是當我嘗試通過 New Inv Entry 輸入新條目時,function 在 Invoices from New Inv Entry 中僅粘貼一個單元格,並且沒有粘貼在最后一行,只需替換其他條目。
如果有人幫助我配置問題,我將不勝感激。
謝謝
function copy() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName('New Inv Entry');
var Properties = PropertiesService.getScriptProperties();
var lastrow = Properties.getProperty('lastrow');
if(lastrow==null) lastrow=1;
else lastrow = parseInt(lastrow);
Properties.setProperty('lastrow',(lastrow+1));
var v = s1.getRange('C3:G11').getValue();
ss.getSheetByName('Invoices').getRange('A:E' + lastrow).setValue(v);
};
嘗試代替
Properties.setProperty('lastrow',(lastrow+1));
只是簡單
lastrow = lastrow+1;
因為您並不想更改存儲在PropertiesService
中的屬性,而是您的本地變量lastrow
。
我假設getValue()
和setValue()
僅適用於單個單元格。 您應該使用copyTo
代替:
s1.getRange('C3:G11').copyTo(ss.getSheetByName('Invoices').getRange('A' + lastrow))
(請注意,目標范圍不需要:E
部分,因為copyTo
無論如何都知道被復制范圍的大小。)
Sbnc.eu 感謝您的回復。 你的回答給了我很多幫助,它保存了所有的細胞。 我希望特定的單元格只保存在發票中。 我試圖在下面修改這個但沒有成功。
s1.getRange('C3', 'C5', 'C7', 'C9', 'C11:G11').copyTo(ss.getSheetByName('Invoices').getRange('A' + lastrow))
除此之外,我已經在 Invoices 表中插入了大約 2.5k 個條目,但是當我點擊保存按鈕以執行 function 並使用您提供的修改時,新條目將替換已經插入的條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.