如果一個試算表裡面有很多個分頁 都要做上重複的事情 去更改分頁內容 又不能用複製分頁的方式去更改 要怎樣做會比較方便呢?
可以利用 google sheet 中的 擴充功能 內的 apps script 用程式碼的方式 去更改每個分頁的內容。 可以利用迴圈 讓 重複做的事情 交給電腦去執行。
修正每個分頁 的長寬
function addColumnToEachSheet() {
// 獲取當前工作簿
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// 自定義列寬(單位:像素)
var customWidth = 90; // 可根據需求調整為適合閱讀的寬度
// 獲取所有分頁並篩選名稱為 "1" 到 "31" 的分頁
var sheets = spreadsheet.getSheets().filter(function(sheet) {
var name = sheet.getName();
return /^[1-9]$|^[1-2][0-9]$|^3[0-1]$/.test(name); // 篩選名稱為 "1" 到 "31" 的分頁
});
sheets.forEach(function(sheet) {
// 獲取分頁的最後一列和最後一行
var lastColumn = sheet.getLastColumn(); // 獲取最後一列的列號
var lastRow = sheet.getLastRow(); // 獲取最後一行的行號
// 如果分頁中有內容,調整列寬和禁用文字換行
if (lastColumn > 0 && lastRow > 0) {
for (var col = 1; col <= lastColumn; col++) {
sheet.setColumnWidth(col, customWidth); // 設置列寬
}
// 禁用文字換行
var range = sheet.getRange(1, 1, lastRow, lastColumn);
range.setWrap(false);
}
});
// 顯示完成提示
SpreadsheetApp.getUi().alert("已成功調整名稱為 1~31 的分頁的列寬為 " + customWidth + " 像素,並禁用文字換行!");
}
複製公式 到指定欄位
sheet.getRange("G2").setFormula("=B2-F2");
// 將 G2 的公式複製到 G3 到 G20
var formula = sheet.getRange("G2").getFormula(); // 取得 G2 的公式
sheet.getRange("G3:G20").setFormula(formula); // 將公式設置到 G3:G20
});