我已经整理了一个考勤谷歌工作表,它将每周出勤标签中的数据拉到一个包含所有周的主表中。到目前为止,设置了主表,以便可以通过按下按钮来添加更多周,方法是复制主表的第一周并将其附加到工作表的最后一列。
所以我需要帮助的是在新的复制周的单元格中找到公式的一部分,在这种情况下将是旧周选项卡'9/21-9/25' (完整的公式是='9/14-9/18'!$E$5)的日期,并使用提示替换为用户输入的新周,例如'9/28-10/2'。
这是我到目前为止想出的代码。
function newWeek() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastCol = sheet.getLastColumn();
var rowCol = sheet.getLastRow();
var maxCols = sheet.getMaxColumns();
// Number of columns to duplicate//
var numCols = 15
//Selects the previous week//
var range = sheet.getRange(1, lastCol - 14, rowCol, 15);
//Inserts columns for next week//
sheet.insertColumnsAfter(lastCol, numCols);
//Copies previous weeks properties into new columns//
range.copyTo(sheet.getRange(1, lastCol + 1, rowCol, 15));
}如果你想出一个更简单的解决方案来解决我正在尝试做的事情,请告诉我。只需按下按钮并输入新的日期,就可以从新的week选项卡中创建和提取所有内容。
发布于 2020-09-24 14:55:45
类TextFinder可用于在使用matchFormulaText()方法的公式中进行搜索和替换:
代码片段:
range.createTextFinder('9/21-9/25')
.matchFormulaText(true)
.replaceAllWith('9/28-10/2')https://stackoverflow.com/questions/64038100
复制相似问题