我有第1行 - 最后一行定义的范围,我正在尝试执行以下操作:
我正在努力解决这个问题,因为我一直在努力做好准备工作"调试时发出的消息,并且它没有运行。
function dragformulas() {
var sh2=SpreadsheetApp
.getActiveSpreadsheet()
.getSheetByName("Inputs for Web App")
var lastrow = sh2.getLastRow();
for (var j=0; j < 14 ; j+1) {
var emptyrange= sh2.getRange(lastrow, j+1, 1, 1);
if (emptyrange.isBlank()) {
var copyformulacell = sh2.getRange(1, j+1, 1, 1);
var dragrange= sh2.getRange(1, j+1, lastrow - 1, 1);
var getformula = copyformulacell.getFormulas();
dragrange.setFormula(getformula);
}
}
}
答案 0 :(得分:0)
我简化了代码,现在它的工作原理。对于未来的参考,这就是......
function myFunction() {
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Looping columns");
var lastrow = sh.getLastRow();
var numrows = lastrow;
var lastcol = sh.getLastColumn();
var numcols = lastcol;
var range = sh.getRange(1,1,numrows,numcols);
sh.setActiveRange(range);
return propagateFormulae(numrows, numcols, sh);
}
function propagateFormulae(rows, cols){
for(var i=1;i<=cols;i++){
for(var j=2;j<=rows;j++){
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Looping columns");
if(sh.getRange(j,i).getValue().length == 0)
sh.getRange(j-1,i).copyTo(sh.getRange(j,i));
else{
j=rows;
}
}
}
}