Google Apps脚本从单元格复制到新行

时间:2013-04-02 23:21:53

标签: google-apps-script

我的Google电子表格中有两张。

  1. 主要跟踪
  2. 每日跟踪
  3. 主跟踪从其他跟踪表中提取信息,并更新单元格M7中每个驱动程序所驱动的里程数。

    我想设置每日跟踪日期(A栏)和行驶里程数(B栏)。

    我想编写一个Google Apps脚本,它会将数据从Master Tracking!M7复制到每日跟踪(B列),但每次运行脚本时都会复制到新的ROW。我打算在每个工作日结束时使用触发器运行。

    到目前为止我已经这样做了,但它不起作用。

    function copyFunction() {
    
      var inputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master Tracking").getRange("M7:M7");
    
      var inputValues = inputRange.getValues();
    
      var outputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getRange("B:B").getLastRow();
    
      outputRange.setValue(inputValues);
    }
    

    我无法理解。我可以将它粘贴到一个特定的单元格中但我无法弄清楚如何将其粘贴到新行中。也许getLastRow会起作用。我不知道。

    另外,如何在每日跟踪的A列中添加时间戳?

    请帮忙!

1 个答案:

答案 0 :(得分:1)

没有测试它但应该工作:(见代码中的注释)

function copyFunction() {
  var inputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master Tracking").getRange("M7");
  var inputValue = inputRange.getValue();// use simple getValue without S, get a simple value
  var last = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getLastRow();// get the last row on this sheet
  var outputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Tracking").getRange(last+1,1,1,2);// getRange col A & B +1 after last row
  outputRange.setValues([[Utilities.formatDate(new Date(), Session.getTimeZone(), 'MM-dd-yyyy'),inputValue]]);// date string in col A and value in col B in a 2D array (note the S in setValues) - 
}