EP05. “Year Occurrences 统计某年份出现次数”
🔒 登录后可标记已读- 写一个宏,统计一份日期清单里,某个指定年份总共出现了几次
- 年份从单元格读取,换个年份重新执行就能查另一个年份,不用改代码
- 前置知识:Year 函数的基本用法和 For 循环
- 学完能自己写「按条件统计出现次数」的宏
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
完整代码
Dim yearCount As Integer, yearAsk As Integer, i As Integer
yearCount = 0
yearAsk = Range("C4").Value
For i = 1 To 16
If Year(Cells(i, 1).Value) = yearAsk Then
yearCount = yearCount + 1
End If
Next i
MsgBox yearCount & " occurrences in year " & yearAsk
逻辑说明
yearAsk从 C4 读取使用者想查询的年份- 循环走过第 1 到 16 行的日期数据
Year(Cells(i, 1).Value)取出这格日期的年份,跟yearAsk相等就把计数yearCount加 1- 因为
yearAsk是变量,使用者换个年份填进 C4、重新执行一次宏,就能查另一个年份出现几次,不用改代码
学完你会
- ✅ 用
Year()从日期里单独取出年份 - ✅ 用变量存使用者输入的查询条件,让宏可以重复套用不同条件
- ✅ 用循环 + 计数器统计符合条件的笔数
常见错误
- 循环范围写死成
1 To 16,日期清单笔数变动后忘记同步调整 - C4 填的不是纯数字年份(比如打了文字),
yearAsk读到不合理的值,判断永远不成立 - 把
Year(...)忘记加上,直接拿整个日期去跟年份数字比较,永远不会相等
Sources
Blog / Website: