我有一本相当庞大的工作簿,其中包含300多张纸。我正在尝试从每个工作表中获取2个单元格,并将该数据移至主工作表。我将创建一个与我的主要购买较小的工作表相似的工作表。这是一张测试纸
https://docs.google.com/spreadsheets/d/19DoIyBVFLCt7TU5PEZCMcFMCbRcXhKgNc3OBGcUPixk/edit?usp=sharing
现在,我有一个脚本可以执行此操作,但是它完全没有效率,但是我对此是全新的。我必须为我的每张纸做以下这组代码。所以代码最终超过2000行...
sheet.insertRowAfter(49);
var Date = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SheetName").getRange("J16").getValues();
DateCell.setValue(Date);
NameCell.setValue("SheetName");
我正在寻找一个脚本,该脚本可以执行我所拥有的功能,但是可以实现某种循环。我拥有它的方式是错误的。
答案 0 :(得分:0)
您要在{{3上使用for
[1] 循环或forEach()
[2] 循环}}方法。
要使其正常工作, Master必须是电子表格中的第一张表。
var ss = SpreadsheetApp.getActiveSpreadsheet(); //Gets the current spreadsheet.
var sheets = ss.getSheets(); //Gets a list of all sheets in the current spreadsheet
//Get master for use later by removing the first sheet.
var master = sheets.shift();
sheets.forEach(function (sheet){
//Here we can perform a task on each sheet in our spreadsheet...
var name = sheet.getRange("A1").getValue(); //Get name from sheet
var date = sheet.getRange("C7").getValue(); //Get date from sheet
master.appendRow([name, date]); //append to master sheet
}
这将允许您浏览电子表格文件中的每个工作表,并在每个工作表中执行相同的任务!