Javascript 如何在for循环内部使用变量

Javascript 如何在for循环内部使用变量,javascript,for-loop,google-apps-script,google-sheets,google-sheets-macros,Javascript,For Loop,Google Apps Script,Google Sheets,Google Sheets Macros,我在谷歌电子表格中有50行。用户使用这些行作为输入。但并非所有50行都显示出来。当用户在A2单元格中输入数字时,只有该行数可见。我能够完成这项任务。但for循环内部存在一个问题 我认为问题出在这方面 对于(变量i=2;i

我在谷歌电子表格中有50行。用户使用这些行作为输入。但并非所有50行都显示出来。当用户在A2单元格中输入数字时,只有该行数可见。我能够完成这项任务。但for循环内部存在一个问题

我认为问题出在这方面

对于(变量i=2;i
//这是我的完整代码。
功能OneEdit(e){
//Logger.log(“以前的值为-”+e.oldValue);
//Logger.log(“新值为-”+e.value);
var范围=e范围;
var rowNumber=range.getRow();
var columnNumber=range.getColumn();
//Logger.log(“行-”+行编号);
//Logger.log(“列-”+列编号);
if(rowNumber==2&&columnNumber==1){
//Logger.log(e.value);
var fillingRows=e.value+2;
//从3到51隐藏行
var电子表格=SpreadsheetApp.getActive();
电子表格.getRange('3:51').activate();
电子表格.getActiveSheet().hideRows(电子表格.getActiveRange().getRow(),电子表格.getActiveRange().getNumRows());
Logger.log(填充行);
对于(变量i=2;i
当我把那行改成这样的时候

对于(变量i=2;i<10;i++){

那么它就可以正常工作了。但我不能在这里使用常量。
不可能在for循环中使用变量。

这可能是因为
fillingRows
不大于2,因此


我建议打印并检查
fillingRows

这可能是因为
fillingRows
不大于2,因此

我建议打印和检查
fillingRows

尝试以下方法:

function onEdit(e) {  
  var sh=e.range.getSheet();
  if(sh.getName()!="Your sheet name")return;//Edit this.  Add your sheet name
  if(e.range.rowStart==2 && e.range.columnStart==1 && e.value>=1 && e.value<=50){
    //e.source.toast('Value: ' + e.value);
    sh.hideRows(3,50);
    sh.showRows(3,e.value);
    //sh.getRange(1,1).setValue(e.value);
  }
}
函数onEdit(e){
var sh=e.range.getSheet();
如果(sh.getName()!=“您的工作表名称”)返回;//编辑此项。添加您的工作表名称
如果(e.range.rowStart==2&&e.range.columnStart==1&&e.value>=1&&e.value请尝试以下操作:

function onEdit(e) {  
  var sh=e.range.getSheet();
  if(sh.getName()!="Your sheet name")return;//Edit this.  Add your sheet name
  if(e.range.rowStart==2 && e.range.columnStart==1 && e.value>=1 && e.value<=50){
    //e.source.toast('Value: ' + e.value);
    sh.hideRows(3,50);
    sh.showRows(3,e.value);
    //sh.getRange(1,1).setValue(e.value);
  }
}
函数onEdit(e){
var sh=e.range.getSheet();
如果(sh.getName()!=“您的工作表名称”)返回;//编辑此项。添加您的工作表名称

如果(e.range.rowStart==2&&e.range.columnStart==1&&e.value>=1&&e.value但是有一个问题问题问题是什么?有错误吗?它没有做它应该做的事情吗?请参阅和您的问题。但是有一个问题问题问题是什么?有错误吗?它没有做它应该做的事情吗?请参阅和您的问题。非常感谢。我可以用你答案中使用的一些技巧来解决它。非常感谢。我可以用你答案中使用的一些技巧来解决它。