【问题标题】:Script to copy entire row (not always the same row) from one sheet to another on Google Sheet将整行(不总是同一行)从一张纸复制到另一张纸的脚本
【发布时间】:2021-09-18 21:52:01
【问题描述】:

我正在尝试创建一个脚本以将一行从一张表复制到 Google 表中的另一张表。但这里有一个问题,行不会总是一样的。脚本必须根据所选单元格复制特定行

我是新手,但我能够想出下面的代码:

function copyRowsWithCopyTo() {
  let spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  let sourceSheet = spreadSheet.getSheetByName('Todays');
  
  let sourceRange = sourceSheet.getActiveCell().getRow();
  
  let targetSheet = spreadSheet.getSheetByName('Sheet8');
  
  sourceRange.copyTo(targetSheet.getrange(1, 1));
}

但是,当我尝试运行它时出现错误::TypeError: targetSheet.getrange is not a function copyRowsWithCopyTo@macros.gs:9:

【问题讨论】:

  • getrange() 应拼写为getRange() 编程中的拼写计数reference

标签: google-apps-script google-sheets


【解决方案1】:

通过在此网站上进行更多挖掘,我能够找到解决问题的方法。请参阅下面的代码:

function copyRowsWithCopyTo() {
  let spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  let sourceSheet = spreadSheet.getSheetByName('Todays');
  let targetSheet = spreadSheet.getSheetByName('Sheet 8');
  
  let row = sourceSheet.getActiveRange().getRow();
  let activeRow = sourceSheet.getRange( row ,1, 1 ,19);
  let last_row = targetSheet.getLastRow();
   
  activeRow.copyTo(targetSheet.getRange('A'+(last_row+1)+':Q'+(last_row+1)));

  sourceSheet.deleteRow(row);
}

我还在代码末尾添加了一行来删除活动行。

【讨论】:

  • 如果可行,请将您的问题标记为已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
相关资源
最近更新 更多