我对Excel和Spreadsheets中的宏和东西真的很陌生。我有一个朋友在Excel中创建了此宏,该宏可以完成所需的工作:
{{1}}
简而言之:我需要在第一张纸上输入一个文本,并在另一张纸上的等效单元格中生成今天的日期。
我需要这个,以便稍后使用日期进行条件格式设置,稍后再使用日期为每个单元格上色,具体取决于它是在今天还是在最后几天进行了更新。
可以将此宏转换为电子表格的脚本吗?
答案 0 :(得分:2)
我会做这样的事情。每当您添加新值时,onEdit(e)
就会触发。
然后,您获取值并将实际日期放置在另一个sheet
的同一单元格中。如果您不想每次都不要执行此代码行,则还可以添加条件。
function onEdit(e)
{
// condition to make sure you are not entering value in the date sheet
if(e.source.getActiveSheet().getName() != "CFbase" && e.range.rowStart > 2)
{
//grab the sheet where you wan't the date to be inserted.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CFbase");
//grab the cell where the date will be inserted
var cell = sheet.getRange(e.range.getRow(), e.range.getColumn());
//create the actual date
var now = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy");
//set the value of the cell with the date
cell.setValue(now);
}
}
Here是用于正确格式化Date
的文档。