【发布时间】:2021-08-05 14:51:34
【问题描述】:
我正在尝试使用 Google 表格完成 2 件事。我有一个包含数据的主表,我想:
- 使用基于 B 列中单元格值的名称创建新工作表(已完成)
- 将包含 B 中这些值的行复制到该新工作表中
第 1 部分适用于此脚本:
function onOpen() {
var menu = [{
name : "Add",
functionName : "newSheet"
}
];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Sheet", menu);
}
function newSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getActiveSheet();
var sheet1 = ss.getSheetByName("Sheet1")
var getNames = sheet1.getRange("B2:B").getValues().filter(String).toString().split(",");
for (var i = 0; i < getNames.length; i++) {
var copy = ss.getSheetByName(getNames[i]);
if (copy) {
Logger.log("Sheet already exists");
} else {
templateSheet.copyTo(ss).setName(getNames[i]);
ss.setActiveSheet(ss.getSheetByName(getNames[i]));
ss.moveActiveSheet(ss.getNumSheets());
}
}
}
问题是当创建新工作表时,它会复制主工作表的内容。我只想将包含 B 列中的值的行复制到新工作表中。
【问题讨论】:
标签: google-apps-script google-sheets