【发布时间】:2017-06-27 18:48:51
【问题描述】:
我正在尝试在 VBA 中编写一个脚本,该脚本将日期作为输入,然后知道该日期是从本周到下周一,还是比该日期长多少周。
编辑:以下部分已解决,但我仍然可以在顶部使用一些帮助。我愚蠢地使用 VB.Net 代码而不是 VBA。
我查看了下面我将链接的页面,它似乎给了我一个方向。 Finding the date of monday in a week with VB.NET
问题是我无法在我的 VBA 代码中使用这些命令。这很奇怪,因为它似乎对其他人都有效,但 VBA 不允许我自己使用这些命令。谁能帮我理解为什么?以下几行是在我将代码添加到我的 excel VBA 模块中时返回的红色。 “日期。”也不行。
Dim today As Date = Date.Today
Dim dayIndex As Integer = today.DayOfWeek
dayIndex += 7
Dim dayDiff As Integer = dayIndex - DayOfWeek.Monday
Dim monday As Date = today.AddDays(-dayDiff)
【问题讨论】:
-
I am attempting to write a script in VBA...那么你不需要 VB.NET 标签。如果您不确定,请参阅标签上的使用指南文本 -
在 vba 中,您不能在同一行上声明变量并为其赋值。拆分它们:
Dim today As Date和today = Date等等。 -
和
dayIndex += 7必须是dayIndex = dayIndex + 7 -
您正在将 VB.NET 代码复制并粘贴到 VBA 编辑器中。当然不是编译——VB.NET 不是 VBA。
-
查一下。按F2找到
VBA.DateTime模块,你会很快找到你可以使用的功能。