【问题标题】:Copy Paste to another sheet复制粘贴到另一张纸
【发布时间】:2021-03-12 07:38:50
【问题描述】:

我使用 Excel 的时间最长,但现在需要为我工作的新公司使用 Google 表格。好像比我想象的要难。

我正在创建一个表单来跟踪员工为客户完成某项任务的时间。

我创建的一个简单表单,我在表单中隐藏了详细信息!F1:J1(F1 - 现在时间,G1 - 员工姓名,H1 - 客户姓名,I1 - 完成任务和 J1 - 开始/结束任务

我只想将值复制并粘贴到 Tracker 表上的下一个空行。

我试图搜索以前的答案,但似乎没有用。我总是收到一条错误消息:

"ReferenceError: 数据库未定义"

var copyToSheet = database.getSheetByName('Tracker!A1'); 部分。这是我得到的。

function Done() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var source = ss.getSheetByName('Form');
  var dataToCopy = source.getRange('F1:J1');
  var copyToSheet = database.getSheetByName('Tracker!A1');

  var sourceValues = dataToCopy.getValues();
  var lastRow = copyToSheet.getLastRow();
  copyToSheet.getRange(lastRow + 1, 1, sourceValues.length, sourceValues[0].length).setValues(sourceValues);
  dataToCopy.clear({
    contentsOnly: true
  });
}

【问题讨论】:

  • 那么...database 定义在哪里?

标签: google-apps-script google-sheets


【解决方案1】:

我能够在某处找到正确的代码,只是稍作改动。

函数完成(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var copySheet = ss.getSheetByName("Form"); var pasteSheet = ss.getSheetByName("Tracker");

var source = copySheet.getRange(1,6,1,5); //从哪个行号开始,从哪个列号开始,1,要复制多少个单元格 var 目的地 = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,1,5); source.copyTo(destination,{contentsOnly:true});

//这是在复制并粘贴到跟踪器后删除您在表单上输入的内容

var ss = SpreadsheetApp.getActive().getSheetByName("Form"); var cell = ss.getRange("C4:C7"); cell.clearContent();

};

【讨论】:

  • 你不应该只是发布解决方案,你需要提供解释。
  • 也不知道怎么解释。只需将某处的代码组合在一起,更改范围即可。
猜你喜欢
  • 1970-01-01
  • 2020-06-12
  • 2019-11-17
  • 2023-02-02
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多