列中是否可以按月底的值自动替换公式?
我正在考虑这样的事情,但它在Google表格中无效:
sub MyProgram()
DimMyRange As Range
set MyRange=Range("A1")
MyRange=MyRange.Value
End Sub
这是my sheet。
答案 0 :(得分:0)
正如Pnuts所说,这看起来非常像VBA for Excel。我还是不认识它是Javascript。 Google表格使用Javascript来扩展功能。
我已快速解决您的问题,并将其作为建议的解决方案。
function formulaToValues(){
var columnWithFormula = 1; /* If Column A is 1, and B is 2, what column has the formulas to be changed into values */
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange(1, columnWithFormula, sheet.getLastRow(),1)
var values = range.getValues();
range.setValues(values);
}
您可以更改columnWithFormula
& sheet
部分以满足您的特殊需求。
然后,您可以通过转到资源--->将脚本附加到每月计时器。当前项目在脚本编辑器中触发。
答案 1 :(得分:0)
您可以参考Class ClockTriggerBuilder和Class Range文档。编辑器中的Google文档和代码提示将告诉您需要知道的所有内容。
此脚本将运行函数' setVal'在每个月的第一天:
//Create a named range that encompasses your the cells you are interested in.
//Run 'createTrigger' from the Script Editor. Do not run anything else.
ss = SpreadsheetApp.getActiveSpreadsheet();
function createTrigger() {
ScriptApp.
newTrigger("setVal").
timeBased().
onMonthDay(1).
create();
}
function setVal() {
var range = ss.getRangeByName('NamedRangeContainingFormula');
var vals = range.getValues();
range.setValues(vals);
}
如果由于某种原因实际上需要在最后一天运行,则需要(1)一个能够获得下个月最后一天的功能,以及(2)一个将删除当前&#的触发器39; setVals'触发并创建一个新的。如果那是你真正需要的东西,请告诉我们。