对不起,这可能是一个非常新手的问题,我正在自学,无法弄清楚如何用谷歌找到答案。
我在Google工作表中有一个循环,该循环遍历每个字段并更新一些从网站中提取信息的单元格,然后我需要将这些信息复制到循环的每一行中。它似乎正在循环中正常工作,但是在尝试复制时无法将其放入正确的行中。
我确信这很简单,希望有人能指出我正确的方向。我很确定这与第34行的代码有关,但无法弄清楚如何纠正它。
Angular 7
答案 0 :(得分:0)
您能尝试一下吗?
var currentRow = ss.getActiveRange().getRow();
var currentCol = ss.getActiveRange().getColumn();
.
.
.
ss.getRange('State!AB5').copyTo(ss.getRange(currentRow+1, currentCol),
SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
答案 1 :(得分:0)
原始代码的修改:
已在第24行中纠正了错误。在您的原始帖子中,您正在使用=
(assignment operator)来比较变量。但是,您要使用==
(equality operator)。
添加了缺少的分号。尽管不是必需的,但它可以带来良好且一致的样式,并可以防止某些错误。
在循环中移动了i
声明。使代码更清洁,更安全。
已修改的for循环主体,以便它使用范围和setValue()
,getValue()
方法来复制数据。
function myLoop() {
var ui = SpreadsheetApp.getUi();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Lsheet = ss.setActiveSheet(ss.getSheetByName('Loop'), true);
var rangeData = Lsheet.getDataRange();
var lastColumn = rangeData.getLastColumn();
var lastRow = rangeData.getLastRow();
var dataRange = Lsheet.getRange(2,1, lastRow-1, lastColumn-1);
var data = dataRange.getValues();
var len = data.length;
var statsSheet = ss.getSheetByName('Stats');
var loopSheet = ss.getSheetByName('Loop');
for (var i = 0; i < len; i++) {
var row = data[i];
var player = row[4];
var prop = row[6];
var number = row[7];
var overodds = row[8];
var underodds = row[9];
var overreq = row[10];
var underreq = row[11];
if (prop == "Points") {
statsSheet.getRange('B1').setValue(player);
loopSheet.getRange(overreq).setValues(
statsSheet.getRange('AB5').getValues()
);
loopSheet.getRange(underreq).setValues(
statsSheet.getRange('AB6').getValues()
);
}
}
}