gpt4 book ai didi

vba - MonthName(月份(现在) + x) ..... 13 错误;容易修复吗?

转载 作者:行者123 更新时间:2023-12-03 00:23:59 25 4
gpt4 key购买 nike

一旦 month(now) + x => 13,我在 VBA 中使用 MonthName 时收到错误。

在不构建太多代码的情况下,我是否缺少一个简单的解决方法?我唯一能想到的就是在循环内设置一些条件来调整它,以便月(现在)+ x 一旦达到 13 就恢复为 1。

而且,一旦过了 13,我也会遇到 Year(Now) 的问题,但一次只处理一件事。

代码:

Sub Do_Stuff_Button()

expand = 2

MsgBox Day(Now)

ActiveSheet.Cells(2, 6) = "'" & MonthName(Month(Now), False)
ActiveSheet.Cells(1, 6) = "'" & Year(Now)

Do While expand > 0
ActiveSheet.Cells(1, (6 - expand)) = "'" & Year(Now)
ActiveSheet.Cells(1, (6 + expand)) = "'" & Year(Now)
ActiveSheet.Cells(2, (6 - expand)) = "'" & MonthName((Month(Now) - expand), False)
ActiveSheet.Cells(2, (6 + expand)) = "'" & MonthName((Month(Now) + expand), False)
expand = expand - 1
Loop

End Sub

最佳答案

您可以使用DateAdd .

Debug.Print MonthName(Month(DateAdd("m", 1, Date)))

如果您将一个数字传递给函数,该数字大于当前年份的剩余月份数,那么它将计算延续到下一年的月份。

示例

Debug.Print MonthName(Month(DateAdd("m", 5, Date)))

上面将返回March

关于vba - MonthName(月份(现在) + x) ..... 13 错误;容易修复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com