我有一个图表,可以计算出客户支持中记录的错误数量以及如下所示的状态:
实际图表截图
我使用以下脚本从下面的行(今天)复制并粘贴该行,以便能够跟踪一段时间内已解决/未解决的错误的数量:
// global
var ss = SpreadsheetApp.getActive().getSheetByName("Unresolved_Count");
function onOpen() {
var menu = [{name:"Add New Last Row", functionName:"addRow"}];
ss.addMenu("Extra", menu);
}
function addRow() {
var sh = SpreadsheetApp.getActive().getSheetByName("Unresolved_Count"), lRow = sh.getLastRow();
var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
sh.insertRowsAfter(lRow, 1);
range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:true});
}
我理想的结果应该做到以下几点:
脚本每天都会为已解决,未解决和案例总数创建快照,并在电子表格中添加另一行。
使用(现在)方法计算的第一行中的日期。要保留更新日期,脚本仅复制值。
我理想的结果如下所示:
不幸的是,结果,我在每一行上都得到了相同的日期:
图表与结果
我不确定自己在做什么错,并想请您提供专家意见。请参阅“未解决的案例”表以获取更多参考。
谢谢!
您当前未复制第一行。您定义range
(sh.getRange(lRow,1,1,lCol)
)的方式表示最后一行,而不是公式行。
试试这个
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("Extra")
.addItem("Add New Last Row", "addRow")
.addToUi();
}
function addRow() {
var sh = SpreadsheetApp.getActive().getSheetByName("Unresolved_Count");
var lRow = sh.getLastRow();
var lCol = sh.getLastColumn();
var range = sh.getRange(2,1,1,lCol);
sh.insertRowsAfter(lRow, 1);
range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:true});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句