VBA 第14课 自动生成年历

本篇博客介绍如何使用VBA在Excel中自动生成年历,详细讲解了相关函数和步骤,适合初学者提升Excel自动化技能。
摘要由CSDN通过智能技术生成


Sub 生成年历()
y = InputBox("请指定一个年份:")
'清除原有内容
Range("1:1, 4:11,14:21,24:31,34:41").ClearContents
'设置标题
Cells(1, 1) = y & "年历"
Dim dm As Variant
'dm 下标从0开始
dm = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
'处理闰年,修正二月份天数
If ((y Mod 400 = 0) Or (y Mod 4 = 0 And y Mod 100 <> 0)) Then
    dm(1) = 29
End If
For m = 0 To 11
'计算每月第一天的星期数(1日,2一,3二...)
d = DateSerial(y, m + 1, 1)
w = Weekday(d)
'计算每月起始的行号和列号
r = (m \ 3) * 10 + 4
c = (m Mod 3) * 8
'排出一个月的日期
For d = 1 To dm(m)
    Cells(r, c + w) = d
    w = w + 1
    If w > 7 Then
        w = 1
        r = r + 1
        End If
    Next
Next
End Sub

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值