-1

如何引用 Google 脚本中的特定单元格进行循环,并将值返回到特定单元格,如下面的 VBA 示例所示。

这将如何用 Google 脚本编写?

For j = 1 To 20 Step 2

For i = 1 To 20

g = Worksheets("Notes").Cells(i + 15, j + 2).Value

h = Worksheets("Notes").Cells(4, j + 2).Value

l = Worksheets("Notes").Cells(5, j + 2).Value

If Worksheets("Notes").Cells(i + 15, j + 2).Value <> "" Then

等等

4

3 回答 3

3

您可以在 javascript 中使用简单的 for 循环来遍历单元格

//get the sheet object
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Notes');

for(j=0; j<=20; j++){
for(i=0; i<=20; i++){
g = sheet.getRange(i + 15, j + 2).getValue();
//...
//...
//and so on
}
}
于 2012-09-21T19:15:41.340 回答
2

这是一个例子:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Notes');
var lastrow=sheet.getLastRow();
var lastcolumn=sheet.getLastColumn();

//In Google Script you should specify the range you want I/O from
var range=sheet.getRange(1,1,lastcolumn,lastrow);

//Return 2D Array for all range Values
var all = range.getValues();

for(var j=0; j<=20; j++){
for(var i=0; i<=20; i++){

//Return each value
var all = range.getCell(i + 15, j + 2).getValue();

}
}
于 2017-08-27T23:52:13.663 回答
1

更好的方法是不要每次都调用 getCell,因为您已经获得了数据。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Notes');
var lastrow=sheet.getLastRow();
var lastcolumn=sheet.getLastColumn();

//In Google Script you should specify the range you want I/O from
var range=sheet.getRange(1,1,lastcolumn,lastrow);

//Return 2D Array for all range Values
var values = range.getValues(); //2D array of row and column values

for(var r=0; r < values.length; r++){
  for(var c=0; c < values[r].length; c++) { 

  //Return each value
  var value = value[r][c]; //row, column

  }
}
于 2021-09-15T06:59:09.967 回答