繁体   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