【问题标题】:Adding Variables to getRange()向 getRange() 添加变量
【发布时间】:2021-02-26 01:13:39
【问题描述】:

很难使用下面的 Google Scripts JS 代码。

这是它应该做的。

  1. 将活动工作表中的信息从 M 列复制并粘贴到 AA 列

  2. 转到表 2,获取最后一个包含数据的单元格并在粘贴新信息之前添加一行。如果没有,则粘贴到工作表顶部

  3. 第一次粘贴时还没有活动单元格,因为它是一张新的表格,所以信息应该直接粘贴在顶部

  4. 这里的这一行给我带来了麻烦,我想将我的 last_row 变量放入 getRange。一些文档说你应该能够做类似spreadsheet.getRange("A:"last_row) 的事情,但这对我不起作用。这是当前行,spreadsheet.getRange("A1").activate();

    function NEW() {
          var spreadsheet = SpreadsheetApp.getActive();
          spreadsheet.getRange('M1:AA12').activate();
          spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true);
          spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
          var last_row = spreadsheet.getCurrentCell().getRowIndex();
          spreadsheet.getRange("A1").activate();
          spreadsheet.getRange('\'MAIN SHEET\'!M1:AA12').copyTo(spreadsheet.getActiveRange(), 
          spreadsheetApp.CopyPasteType.PASTE_VALUES, false);
        };
    
    

所以基本上我试图将数据从一张纸粘贴到第二张纸上。粘贴后,我需要宏从上一次粘贴中找到包含数据的最后一行并添加一行,以便将新数据粘贴到下方而不会出现任何数据重叠。

有什么想法吗?

【问题讨论】:

标签: javascript google-apps-script google-sheets


【解决方案1】:

关于你的第四点:

这里的这一行给我带来了麻烦,我想将我的 last_row 变量放入 getRange。一些文档说你应该能够做类似spreadsheet.getRange("A:"last_row) 的事情,但这对我不起作用。这是当前行,spreadsheet.getRange("A1").activate();

由于缺少连接运算符,因此无法正常工作:

spreadsheet.getRange("A:" + last_row)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多