[英]Recorded Macro To Run On Multiple Tabs or All
我有下面錄制的宏,我想在多個選項卡上運行它,或者如果更容易我想在所有選項卡上運行。
很少有命名的標簽是“Richard”、“Jamie”、“Nibz”。
function Week1DP() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.getRange('F8:F17').activate();
spreadsheet.getRange('K14:L15').copyTo(spreadsheet.getActiveRange(),
SpreadsheetApp.CopyPasteType.PASTE_DATA_VALIDATION, false);
};
主要思想是您需要使用forEach()循環(或您喜歡的任何循環)遍歷所有工作表:
所有工作表的解決方案:
您可以使用getSheets()獲取所有工作表:
function Week1DP() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets(); // get all sheets
sheets.forEach(sh=>{
sh.getRange('K14:L15').copyTo(sh.getRange('F8:F17'),
SpreadsheetApp.CopyPasteType.PASTE_DATA_VALIDATION, false);
});
};
根據名稱選擇工作表的解決方案:
要按名稱獲取工作表,您需要使用getSheetByName() :
function Week1DP() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ["Richard","Jamie","Nibz"].map(sn=>spreadsheet.getSheetByName(sn));
sheets.forEach(sh=>{
sh.getRange('K14:L15').copyTo(sh.getRange('F8:F17'),
SpreadsheetApp.CopyPasteType.PASTE_DATA_VALIDATION, false);
});
};
添加或刪除此數組中的名稱以包含或排除工作表: ["Richard","Jamie","Nibz"]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.