如何修改代码(选择该行的第一列,输入公式,将粘贴复制为值)

时间:2019-01-07 04:49:59

标签: google-sheets-macros

我通过录制宏学习了Google工作表中的编码。我的代码在播放时不起作用。这就是它应该如何工作的。 E列上的输入为日期。当我播放我的宏时,它将在1列的日期上加上E个月,并在F列上输入当前日期。

我的活动单元可能在任何地方。我记录如下:

  1. 我将活动单元格移至该行的第一列
  2. 我将活动单元格向右移5个单元格
  3. 创建公式=edate(R[0]C[-1],1),将值复制并粘贴为列E上的值
  4. 将F列作为活动单元格,输入公式=now()复制值并粘贴为值

我已经谷歌搜索了两个小时,却找不到答案

function Test() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
  spreadsheet.getCurrentCell().offset(0, 5).activate();
  spreadsheet.getCurrentCell().setFormulaR1C1('=edate(R[0]C[-1],1)');
  spreadsheet.getCurrentCell().offset(0, -1).activate();
  spreadsheet.getCurrentCell().offset(0, 1).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.getCurrentCell().offset(0, 1).activate();
  spreadsheet.getCurrentCell().setFormulaR1C1('=now()');
  spreadsheet.getActiveRange().copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

enter image description here

0 个答案:

没有答案