【发布时间】:2021-08-20 19:43:24
【问题描述】:
我有一个电子表格,其中包含 A:Z 列中的数据。 AA 列中是工作簿中工作表的名称。我正在尝试将 A:Z 中的数据复制到与 AA 中同名的工作表中。我发现这个脚本看起来很有希望:
function myFunction() {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CLAIMED");
let range = sheet.getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn())
for (var i = 1; i <= range.getLastRow(); i++) {
let sourceval = sheet.getRange(i, 1, 1, range.getLastColumn());
let destname = sheet.getRange(i, range.getLastColumn()).getValue();
let destsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(destname);
sourceval.copyTo(destsheet.getRange(destsheet.getLastRow() + 1, 1));
}
}
但是,我收到错误“TypeError:无法读取属性 'getRange' of null”。我在这里查找了答案,但其中大多数似乎是关于使用包含/绑定的脚本。这是我直接放在脚本编辑器里的脚本,应该没问题。将 SpreadsheetApp.getActiveSpreadsheet() 更改为通过电子表格 ID 打开没有帮助。
感谢您的任何建议!
【问题讨论】: