如果是当月的日期显示为白色(亮色),不是当月的日期显示为灰色(暗色);如果是系统当前的日期,也就是今天的日期,给个蓝色的背景色,突出显示。其中年份和月份是用控件设置和调节的,昨天已经分享过设置的方法。重点是如何根据选定的年份和月份得到对应的日历。其实,思路我们之前已经讲过好几次了。我们可以把每个月的日历看做一个6行7列的矩阵,因为一个月最多只有6周。还记得我们昨天的矩阵吗?首先由每月月初的日期,倒推回上周末的日期。然后用上周末的日期加上上图的1到42就得到了当月的日历。比如还是选定2020年4月,首先由月初的日期2020/4/1倒推回上周末的日期2020/3/29。再由2020/3/29加上上图二维矩阵就得到了2020年4月份的日历。可以参考下图的日历。二维矩阵的公式已经给出了,由月初的日期得到上周日的日期也简单吧。在A6单元格输入公式=DATE($B$1,$B$3,1)-WEEKDAY(DATE($B$1,$B$3,1),2)+COLUMN(A1)+ROW(A1)*7-7,右拉下拉完成。但是现在得到的结果是日期,如何只让它显示天数呢?我们可以设置一下自定义数字格式,在格式代码中输入d。这样日历的大致效果就做好了,还有个问题就是如何让不是当月的日期显示为灰色,以及今天的日期添加背景色。其实这2个效果都是通过条件格式得到的。先来看灰色是如何设置的,首先选中日历的区域A6:G11,点击【条件格式】——【新建规则】——【使用公式确定要设置格式的单元格】,输入公式=MONTH(A6)<>$B$3,点击格式,设置字体颜色为灰色。蓝色背景的效果还要再添加一个条件格式,还是一样的设置方法,公式为=A6=TODAY(),点格式,填充蓝色背景色。
到此,简易日历的制作就完成了。你可以根据自己的审美,给日历好好修饰一下,尽量达到美观的效果。
另外,如果你想要日历随着系统的日期自动改变,而不是自己手动选择年月,你可以在B1单元格输入公式=YEAR(NOW()),在B3单元格输入公式=MONTH(NOW())。
https://pan.baidu.com/s/1JtCep4UC9wAq86wWC7MIaw