Apps 腳本:將 SELECTED 行從一張表移動到另一張表的最後可用行

鮑勃·哈德鮑爾

下面的代碼來自這裡,最初由用戶@Cooper 編寫。它所做的只是colA = [1,3,2,4]從 SHEET 1複製數組中指定的列的值並將它們添加到 SHEET 2。我想重寫代碼的最後 2 行,以便添加來自 SHEET 1 的值到 SHEET 2 中最後可用的行。“最後兩行”是指代碼的最後幾行:
drng = des.getRange(1,1,drngA.length,drngA[0].length);//destination array controls size of destination range.drng.setValues(drngA);

知道如何完成這項工作嗎?

非常感謝您的幫助!

function Copy_data() 
{
  var src = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET 1");
  var des = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET 2");
  var srng = src.getDataRange(); 
  var srngA = srng.getValues(); 
  var drngA = [];
  var colA = [1,3,2,4];//indirect data column selection
  for (var i = 0; i < srngA.length;i++ )
  {
    var k = 0;
    drngA[i]=[];
    for(var j=0;j<srngA[i].length;j++)
    {
        drngA[i][k++] = srngA[i][colA[j]-1];
    }
    drng = des.getRange(1,1,drngA.length,drngA[0].length);//destination array controls size of destination range.
    drng.setValues(drngA);
  }
}
電子郵件

您可以獲得目標工作表的最後一行,然後將其添加到您的getRange()函數中。@soMario提出的方法將不起作用,因為它會在您更新 Sheet 時在循環內發出請求,這會導致每次調用des.getLastRow().

最簡單的解決方案是將getLastRow()請求移出循環,然後將其包含在getRange. 請注意,向其中添加了一個,以便它不會用setValue()請求覆蓋最後一行

Code.gs
function Copy_data() {
    ...
    var lastRow = des.getLastRow() + 1
    for (var i = 0; i < srngA.length;i++ ){
    ...
    drng = des.getRange(lastRow,1,drngA.length,drngA[0].length)
    ...
}
文檔

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Apps 腳本:將行複製到另一個沒有標題/標題的工作表

Apps 腳本:將行從多個源工作表複製並粘貼到母版表

Google Apps 腳本:將軟換行符替換為硬換行符

將 Apps 腳本函數應用於 Google 表格中的其他行

Apps 腳本將數據從工作表中的一個單元格更新到另一工作表中的單元格

無法使用 Google Apps 腳本將新產品上傳到 shopify

如何使用 Google Apps 腳本從 JSON 創建數組並將值導入到 Google 表格中的多行

將值從 bash 腳本傳遞到 python 腳本

使用腳本從一張工作表複製信息到谷歌工作表中的另一張工作表

Google Apps 腳本:從 Google 表單提交創建 Google 共享驅動器文件夾

如何在spark中將雙大括號從shell腳本傳遞到python腳本?

將字符串列表/數組從我的 bash 腳本傳遞給 ansible 腳本

用於將行導出到不同工作表的 Google 表格腳本

授權非管理員用戶在 Google Apps 腳本中運行 Admin SDK

使用 Apps 腳本刪除可見行的非迭代解決方案?

在工作表之間傳輸大量行的更有效方法 - Google Apps 腳本

是否有一個與 MATCH() 和 TRUE 等效的 Apps 腳本函數?

從 Google Apps 腳本中刪除禁用的觸發器

谷歌應用程序腳本:到達谷歌工作表的最後一行後調用另一個函數

Apps 腳本:如何在編輯時將 google 搜索鏈接添加到單元格值?

Apps 腳本中的日期格式

如何將變量傳遞給驅動程序執行腳本?

將參數從 c# 傳遞到 powershell 腳本

如何將 .env 變量從 docker-compose 傳遞到入口點的腳本?

添加行時將行移動到另一個工作表,然後刪除

將文件行讀入 xargs 以用於並行 python 腳本

Apps 腳本:追加行並自動添加新創建的行的其他詳細信息

Bash 腳本如何將數組 elementh 與字符串進行比較

將時間戳從 API 轉換為日期應用程序腳本