【发布时间】:2021-08-07 15:58:40
【问题描述】:
我想使用onEdit 函数将数据从G11:G22 复制到工作表的最后一列,从第11 行开始。因此,一旦我在单元格F7 中选择Transfer,就会触发脚本。运行脚本后,数据应出现在H11:H22 范围内,因为 H 列是工作表中的最后一列。我应该如何做到这一点?这是我尝试过的:
function onEdit(e){
var ss = SpreadsheetApp.getActiveSheet();
var lastrow = ss.getLastRow()
for( var k = 2; k <= lastrow ; k++) {
var m = 1;
while( sheet.getRange(k,m).isBlank() == false) {
m = m +1;
}
var lastcolumn = m
}
var destRange = ss.getRange(11,lastcolumn+1)
if (e.range.columnStart == 6 && e.range.rowStart == 7){
if (e.value == 'Transfer'){
var source = ss.getRange("G11:G22")
source.copyTo (destRange, {contentsOnly: true})
e.range.clearContent()
}
}
}
我认为问题来自For loop,但我不知道出了什么问题。希望能得到一些帮助,谢谢。
【问题讨论】:
-
根据你的截图:你为什么不能只使用
ss.getLastColumn()方法?它应该给你 7 号。
标签: google-apps-script google-sheets