【问题标题】:How to loop static timestamp script Google sheets to all sheets如何将静态时间戳脚本Google工作表循环到所有工作表
【发布时间】:2021-10-14 16:31:20
【问题描述】:

我对循环感到头晕目眩,我尝试了从这里找到的一些变体,但我无法得到任何工作。现在我很困惑我从哪里开始,又从头开始。

这就是我想要的,但对于所有年份/12 张纸

function onEdit() {
    var s = SpreadsheetApp.getActiveSheet();
    if( s.getName() == "jan22" ) { 
    var r = s.getActiveCell();
    if( r.getColumn() == 4 ) { 
    var nextCell = r.offset(0, -3);
    if( nextCell.getValue() === '' ) 
    nextCell.setValue(new Date());
    }
    }
}

我试过了 var sheet = [“feb22”、“mar22”、“apr22”、“may22”、“jun22”、“jul22”、“aug22”、“sep22”、“oct22”、“nov22”、“dec22”];

我从这里找到Google script: adapting script to apply to multiple sheets, quick correction

我也尝试了我从这里找到的 Google Sheets Script: How to run function on loop over all sheets in workbook and onOpen? 和这里 Copy row to another sheet via for loop google sheets script

但我开始收到错误,即使 ss.getsheets 也不是正确的术语。我想我只是不能删除不相关的命令/添加相关的命令。 (这是我知道 Apps Script 的第三天)

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    如果您希望该函数适用于电子表格中的所有工作表,您可以删除第一个 if 语句。

    试试

    function onEdit() {
    var s = SpreadsheetApp.getActiveSheet();
    var r = s.getActiveCell();
    if( r.getColumn() == 4 ) { 
    var nextCell = r.offset(0, -3);
    if( nextCell.getValue() === '' ) 
    nextCell.setValue(new Date());
    }
    }
    

    看看这是否有效?

    【讨论】:

    • 非常感谢,这么简单!我与这个问题斗争了几个小时。它仍然不适用于原始文件,但也许我会从头开始为明年创建新文件。原来的有很多合并的单元格/列我认为这就是原因
    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多