gpt4 book ai didi

javascript - 如何调用基于动态范围的函数?

转载 作者:行者123 更新时间:2023-12-03 05:47:12 26 4
gpt4 key购买 nike

我正在尝试基于动态范围(即我的行数和列数可能会不断变化)运行 PROPAGATEFORMULAE 函数(参见下面的代码)。

但是,每当我运行此脚本时,脚本就会执行(请参阅 execution transcript ),但 PROPAGATEFORMULAE 函数似乎不会被调用。我不确定我做错了什么。每当我将静态值设置为范围时,该函数就会起作用,但我想保持它们动态。

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(range);

}

function getCellFromSheet(row,col,sheet){
return SpreadsheetApp.getActiveSpreadsheet().getSheets()[sheet].getRange(row,col);
}

function propagateFormulae(rows, cols, currentSheet){
for(var i=1;i<=cols;i++){
for(var j=2;j<=rows;j++){
if(getCellFromSheet(j,i,currentSheet).getValue().length == 0)
getCellFromSheet(j-1,i,currentSheet).copyTo(getCellFromSheet(j,i,currentSheet));
else{
j=rows;
}
}
}
}

enter image description here

最佳答案

您缺少 2 个预期功能的变量:

cols, currentSheet

关于:

return propagateFormulae(range);

函数

function propagateFormulae(rows, cols, currentSheet){

更新如果范围对象具有运行函数传播所需的变量,则需要在函数中获取对象的值

return propagateFormulae(range);

喜欢:

function propagateFormulae(range){//expected variable and object

r=$this->range.rows;
c=$this->range.cols;
cs=$this->range.currentSheet;

如果它不是一个对象,您需要发送所有变量。

关于javascript - 如何调用基于动态范围的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com