簡體   English   中英

Google Apps 腳本將特定范圍從任何選項卡復制到主工作表

[英]Google Apps Script Copying Specific Range from any tab to a Master Sheet

所以本質上,我想創建一個腳本,從一張紙上的特定范圍內獲取數據,並將其推送到主紙上,或者我稱之為“永久”。 每天都會創建新選項卡,並且在出現提示時,這些新選項卡上的指定范圍也需要推送。 當我嘗試使用該腳本時,每個人都可以工作,除了在“永久”頁面上粘貼數據時,這些行分開粘貼了許多行,而不是粘貼在最后一個空行中。 我對編碼非常陌生,並且肯定需要一些關於我搞砸的指針。

 function onOpen(e) {
      var ui = SpreadsheetApp.getUi();
      // Or DocumentApp or FormApp.
      ui.createMenu('Push to Perpetual')
          .addItem('Push to Perpetual', 'Macro')
          .addToUi();
    }
      function Macro() {
      var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Extraction Log Perpetual")
      var s2 = SpreadsheetApp.getActiveSheet()
      var a=s.getLastRow()+1
      s2.getRange(3, 21, 5, 13).copyTo(s.getRange(a,1),SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
    };

如果數據在實際行中粘貼了許多行,則意味着該工作表中還有其他內容導致 getLastRow() 跳到最后。 您可以做的是從 A 列獲取最后一行。

var a=s.getRange("A:A").getValues().filter(function(item){return item != ""}).length+1;

擴展您從 A 列獲取所有值,然后過濾掉沒有任何值的單元格。 然后得到數組的長度,加1這樣就可以得到下一行了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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