簡體   English   中英

谷歌表格復制 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM