Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2851|回复: 3

[已解决]关于日期加减问题

[复制链接]
发表于 2015-12-30 14:09 | 显示全部楼层 |阅读模式
下面代码,如果Range("A2")值是2015年12月28日时,s= 13月.xlsx",怎样使结果是1月.xlsx",请帮忙


Public Sub SDD()
    If Day(Range("A2")) < 25 Then
       s = Month(Range("A2")) & "月.xlsx"
        Else
       s= Month(Range("A2")) + 1 & "月.xlsx"
    End If
End Sub

最佳答案
2015-12-30 14:46
Public Sub SDD()
    Dim rng, m, d
    Set rng = Range("A2")
    m = Month(rng)
    d = Day(rng)
    m = IIf(d < 25, m, m + 1)
    m = IIf(m Mod 12, m Mod 12, m)
    MsgBox m & "月.xlsx"
End Sub

试验.zip

20.44 KB, 下载次数: 10

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-12-30 14:45 | 显示全部楼层
本帖最后由 橘子红 于 2015-12-30 15:02 编辑

  s=  Month(Range("A2")) + 1 mod 12 & "月.xlsx"

这样?
回复

使用道具 举报

发表于 2015-12-30 14:46 | 显示全部楼层    本楼为最佳答案   
Public Sub SDD()
    Dim rng, m, d
    Set rng = Range("A2")
    m = Month(rng)
    d = Day(rng)
    m = IIf(d < 25, m, m + 1)
    m = IIf(m Mod 12, m Mod 12, m)
    MsgBox m & "月.xlsx"
End Sub
回复

使用道具 举报

发表于 2015-12-30 14:48 | 显示全部楼层

Public Sub SDD()
    If Day(Range("A2")) < 25 Then
        s = Month(Range("A2")) & "月.xlsx"
        Else
        s = (Month(Range("A2")) + 1) Mod 12 & "月.xlsx"
    End If
    MsgBox s
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 06:53 , Processed in 1.342003 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表