Excel怎么制作日历 Excel如何自动生成可切换月份的万年历【模板】

风婷同学_8625

风婷同学_8625

2026-04-05

490人浏览

原创

可创建动态万年历:通过date与weekday公式生成日期、数据验证实现月份下拉切换、扩展年份选择、名称管理器封装逻辑、activex按钮一键翻页。

excel怎么制作日历 excel如何自动生成可切换月份的万年历【模板】

如果您希望在Excel中创建一个可自动切换月份的万年历,而非手动输入日期或复制粘贴表格,则需借助公式、数据验证与单元格引用实现动态更新。以下是实现该功能的具体步骤:

一、构建基础日历结构

该方法通过设定起始日期与月份偏移量,利用DATE函数生成当月1号,并结合WEEKDAY确定首日位置,从而填充35或42个单元格构成完整日历网格。所有日期均基于公式驱动,无需手动录入。

1、在工作表左上角(如B2单元格)输入标题“年份”,C2单元格输入“月份”;在B3、C3分别输入初始年份(如2024)和月份(如1)。

2、选中B5:H5区域,合并居中并输入“日历”,设置字体加粗;在其下方B6:H12区域作为日期显示区(共7列×7行)。

3、在B6单元格输入公式:=DATE($B$3,$C$3,1)-WEEKDAY(DATE($B$3,$C$3,1),2)+1,该公式计算当月1号所在周的周一日期(以周一为每周首日)。

4、在C6单元格输入公式:=B6+1,然后向右拖拽至H6,再全选B6:H6,向下拖拽至B12:H12,完成35个连续日期填充。

二、添加月份切换下拉菜单

该方法通过数据验证创建下拉列表,使用户能从1至12中选择目标月份,触发日历自动重绘,避免手动修改数字带来的错误或遗漏。

1、选中C3单元格,点击【数据】→【数据验证】→【允许】下拉选择“整数”,【数据】选择“介于”,【最小值】输入1,【最大值】输入12。

2、在【出错警告】选项卡中,勾选“显示错误警告”,标题填“输入错误”,错误信息填“请输入1-12之间的整数”。

3、点击【确定】后,C3单元格右侧将出现下拉箭头,点击即可切换月份,B6:H12区域日期随之刷新。

三、扩展为可切换年份与月份的万年历

该方法引入辅助列与命名区域,支持跨年度跳转,同时保持日历区域公式不变,提升模板复用性与长期可用性。

1、在K1单元格输入“年份范围”,K2:K101填入1900至2000(或其他所需年份区间)。

2、选中B3单元格,点击【数据】→【数据验证】→【允许】选择“序列”,【来源】输入=$K:$K1,启用下拉选择年份。

Excel Export
Excel Export

从结构化JSON生成精美的.xlsx工作簿,支持多工作表、冻结表头、筛选、类型化列、公式、合计以及法国/摩洛哥格式。

下载

3、在D3单元格输入公式:=TEXT(DATE(B3,C3,1),"yyyy年mm月"),用于动态显示当前视图年月,放置于日历标题旁便于识别。

4、选中B6:H12区域,按Ctrl+1打开【设置单元格格式】,在【数字】→【自定义】中输入:[>=1]d;[=0]"",隐藏非当月日期(即0值或负值)。

四、使用INDIRECT与名称管理器构建无公式污染日历页

该方法将日期逻辑封装进名称中,使日历主界面仅保留简洁引用,适合分发给不熟悉公式的用户,且防止误删关键公式。

1、按Ctrl+F3打开【名称管理器】,点击【新建】,名称填“CurrentDate”,引用位置输入:=DATE(Sheet1!$B$3,Sheet1!$C$3,1)。

2、再新建名称“StartOfWeek”,引用位置输入:=CurrentDate-WEEKDAY(CurrentDate,2)+1。

3、回到B6单元格,输入公式:=StartOfWeek+COLUMN(A1)-1,然后按前述方式填充B6:H12。

4、确认所有名称作用域为“工作簿”,关闭名称管理器,此时修改B3或C3将全局触发更新,无需调整日历区域公式。

五、插入控件实现一键切换(ActiveX按钮)

该方法通过插入ActiveX按钮绑定VBA代码,实现点击“上月”、“下月”按钮自动更新C3值,增强交互体验,适用于需要频繁翻页的场景。

1、启用【开发工具】选项卡,在【控件】组点击【插入】→【ActiveX控件】→【按钮】,绘制两个按钮,分别命名为“◀ 上月”和“▶ 下月”。

2、右键第一个按钮→【查看代码】,输入以下语句:If Sheet1.Cells(3, 3).Value > 1 Then Sheet1.Cells(3, 3).Value = Sheet1.Cells(3, 3).Value - 1 Else Sheet1.Cells(3, 3).Value = 12: Sheet1.Cells(3, 2).Value = Sheet1.Cells(3, 2).Value - 1。

3、右键第二个按钮→【查看代码】,输入:If Sheet1.Cells(3, 3).Value 。

4、关闭VBA编辑器,退出设计模式,点击按钮即可实时切换月份,年份同步联动变更。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

2023.07.25

4761

7

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

2896

5

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

2023.08.02

2680

3

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

2023.08.02

1444

3

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

2023.08.02

697

5

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

2023.08.09

5128

7

java导出excel
java导出excel

在Java中,我们可以使用Apache POI库来导出Excel文件。本专题提供java导出excel的相关文章,大家可以免费体验。

2023.08.18

6183

6

excel输入值非法
excel输入值非法

在Excel中,当输入的数值非法时,有以下多种处理方法。本专题为大家提供excel输入值非法的相关文章,大家可以免费体验。

2023.08.18

1621

3

excel生成二维码
excel生成二维码

虽然Excel本身并不直接支持生成二维码,但我们可以借助一些插件或宏来实现在Excel中生成二维码的功能。本专题为大家提供excel生成二维码的相关文章。

2023.08.18

2578

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 43.7万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.5万人学习