簡體   English   中英

使用Google Spreadsheet中的腳本從許多不同的工作表中獲取特定數據

[英]Getting specific data from a lot of different sheets with a script in Google Spreadsheet

我有一本相當龐大的工作簿,其中包含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");

我正在尋找一個腳本,該腳本可以執行我所擁有的功能,但是可以實現某種循環。 我擁有它的方式是錯誤的。

您想在Spreadsheet.getSheets()方法上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
}

這將使您可以瀏覽電子表格文件中的每個工作表,並在每個工作表中執行相同的任務!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM