我正在尝试创建一个简单的脚本,首先检查(从第 3 列开始的第 3 行中的所有单元格)它们是否包含与可用工作表不同的名称,如果是,则创建一个新工作表。如果没有,请转到下一个单元格。最好直到该行为空,但我没有走到那一步。目前我有
var row = 3; //Global Variable
function Main() { // Main Function
Activate();
GetNames();
}
function Activate() { // Initialize
var get = SpreadsheetApp.getActiveSpreadsheet();
var import = get.getSheetByName("Import");
}
function GetNames() { // Get Names and check for existing Sheets
var ss = SpreadsheetApp.getActiveSpreadsheet();
var import = ss.getSheetByName("Import");
var sheet = ss.getSheets()[0];
for (i = 0; i < 1000; i++) { // Loop which I think is broken
var names = import.getRange(row,3).getValue();
if (import.getSheetByName(names) == null) {
import.insertSheet(names);
import.activate();
}
row + 1;
}
}
这是数据
它成功添加了第一张表,但我认为无法继续循环。 正如您可能会看到的那样,我对此非常陌生,我们将不胜感激。
最佳答案
您可能想在此处将 row
加 1:
row + 1;
但你不是。 row + 1
只是一个带有值的表达式(在您的示例中为 4,因为 row 始终保持为 3)。您需要的是声明
row = row + 1;
但是,如果这就是您使用全局变量 row
的全部目的,那么您根本不需要它。只需使用已经从 0 计数到 1000 的循环变量 i
即可。您可能需要类似 import.getRange(i+3,3)
的内容。
关于javascript - JS/GS 简单 Google Sheets 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43480933/