在 F 列中完成编辑时,G 列中的时间戳,复制 H 列并粘贴到另一个工作表中,并继续追加在 F 列中的每次编辑中



在Googlesheet的sheet1中,我有F列包含需要经常更改的数据。在 F 列的任何行中完成任何数据编辑时,必须在相应行的 G 列中插入时间戳。然后,H 列连接 G 列中的时间戳,以便与 F 列中的内容一起生成。现在,刚刚创建的 H 列的数据必须粘贴到 sheet2 中并继续附加到 sheet2 中,以便在 sheet2 中为 F 列中的每个编辑创建一个日志文件。

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "sheet1" ) {
var r = s.getActiveCell();
if( r.getColumn() == 6 ) {
var nextCell = r.offset(0, 1);
nextCell.setValue(new Date());
}}}

我对编码了解不多。到目前为止,我已经设法在 G 列中创建时间戳,但我无法进一步做。

  1. 你需要从rnextCell中检索值,你可以用getValue((来做
  2. 您可以通过简单地将它们与+相加来连接这些值
  3. 您可以使用getLastRow((检索sheet2的最后一行
  4. 您可以使用setValue(lastRow+1, COLUMNNUMBER);将工作表 1 中 H 列中的内容附加到 H 列(或您选择的任何列(中的第一个空行

根据您的代码,您可以进行以下修改:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "sheet1" ) {  //mind the case sensitivity!
var r = s.getActiveCell();
var col=r.getColumn();  
if( col == 6 ) {
var nextCell = r.offset(0, 1);
var thirdCell = r.offset(0, 2);
nextCell.setValue(new Date());
thirdCell.setValue(nextCell.getValue()+" "+r.getValue());  
var s2=SpreadsheetApp.getActive().getSheetByName("sheet2");
var lastRow=s2.getLastRow();
s2.getRange(lastRow+1, 8).setValue(thirdCell.getValue());
}
}
}

最新更新