如果F列中的日期早于一周,我想要一个隐藏行的脚本。我以为我找到了一个,但它隐藏了列的标题(第2行),这是没用的。
我不希望它隐藏空行,因为它们会不断更新。
非常感谢。
答案 0 :(得分:2)
此功能检查列中的每个单元格以确保它是一个日期,然后它会在检测到7天之前的日期时隐藏行。当然,如果您愿意,可以更改它以使天数成为参数。它要求您选择当前默认为“A”的列。我加入菜单只是为了让你更容易测试。
希望这会有所帮助。
function onOpen()
{
var ui = SpreadsheetApp.getUi();
ui.createMenu('My Tools')
.addItem('Hide Rows','hideRowsDate')
.addToUi();
}
function hideRowsDate(column)
{
var column = (typeof(column) !== 'undefined') ? column : 'A';
var day = 86400000;
var today = new Date().getTime();
var rng = SpreadsheetApp.getActiveSheet().getRange(column + ':' + column);
var rngA = rng.getValues();
for(var i = 0; i < rngA.length ;i++)
{
if(isDate(rngA[i][0]) && (((today - new Date(rngA[i][0]).getTime())/day) > 7 ))
{
SpreadsheetApp.getActiveSheet().hideRows(i + 1);
}
}
}
function isDate (x)
{
return (null != x) && !isNaN(x) && ("undefined" !== typeof x.getDate);
}