复制并粘贴到某个列的下一个可用行Google Sheets [英] copy and paste to next available row in a certain column google sheets
本文介绍了复制并粘贴到某个列的下一个可用行Google Sheets的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从Excel切换到Google Sheets,我已经有了用于此操作的宏,但您不能在Google电子表格上运行宏。我想要的是将Log-in!C5中的值移动到从A3列开始的另一个工作表"W1"。我的代码可以工作,但不是将它移到"W1!A3"中,而是放在单元格A146上,因为它是下一个空行。有没有办法将值移动到A列的第一个空行中?而不考虑其他列不为空?
以下是我的代码
function moveValuesOnly() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange('Log-in!C5');
var destSheet = ss.getSheetByName('w1');
var destRange = destSheet.getRange(destSheet.getLastRow()+1,1);
source.copyTo (destRange, {contentsOnly: true});
source.clear ();
}
推荐答案
getLastRow()
仅获取工作表的最后一行,而不获取区域。如果您只需要
更改w1!A3
,请直接硬编码:尝试从destSheet.getRange(destSheet.getLastRow()+1,1);
至
destSheet.getRange(3,1);
或者,要查找区域中的第一个空单元格,
var colA = destSheet.getRange('A:A').getValues();
代码1:
//Filter 2D array to 1D
var fcolA = colA.filter(function (e) {return e[0];});
var firstEmptyRowIncolA = fcolA.indexOf('')+1;
或
代码2:
for(i=0;i<colA.length;i++){
if(colA[i][0] == ''){
var firstEmptyRowIncolA = i+1;
break;
}
}
这篇关于复制并粘贴到某个列的下一个可用行Google Sheets的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文