我无法使选择的范围进入工作表1中A列的第一行。
我不是Google-App-Script的新手,并且以前从未用Java做过任何事情,只需阅读一些教程即可。 我试图使一些实验室机器自动化,以便它们返回的数据进入主工作簿。
function macro (){
var s1 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('E16:F');
SpreadsheetApp.setActiveRange(range)
var copy = s1.getRange('E16:F36').getValues();
var s2 = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1kXinBTHIhEf78AHe2zpSz6ugi1qgmd5WwqSg81IFrfk/edit?usp=drive_web&ouid=102308466606203090938')
var column = s2.getRange('A:A');
var values = column.getValues();
var ct = 0;
while ( values[ct][0] != "" )
ct++;
var lastCell = s2.getRange('E16:F36');
var paste = s2.getRange('ct:B').setValues(copy);
}
我希望代码将源工作簿中的数据设置为放在工作表1中主工作簿的第一个空行中。
答案 0 :(得分:0)
需要使用电子表格类的getLastRow()
方法
var lastRow = s2.getLastRow();
var newStartRow = lastRow +1;
,然后向其添加1来定义将数据粘贴到的第一行。
答案 1 :(得分:0)
使用 appendRow
在电子表格上添加一行。此操作是原子操作;这样可以防止出现这样的问题:用户要求最后一行然后写入该行,并且在获取最后一行并将其写入之间发生了中间的变异。