Excel VBA:日期比较

杰克亨德森

所以我目前正在尝试制作一个代码来将当前日期与其他两个日期进行比较,以确定信息的有效性。例如,如果日期在一年的第一季度和第二季度之间,则文档上的信息截至第一季度日期(3 月 31 日)。以下是我目前所拥有的,出于某种原因,即使当前日期是在 7 月,代码一直说该信息截至 3 月 31 日有效。有人有什么建议吗?

crntDate = Date
q1End = CDate("Mar 31" & " " & Year(Date))
q2End = CDate("Jun 30" & " " & Year(Date))
q3End = CDate("Sep 30" & " " & Year(Date))
q4End = CDate("Dec 31" & " " & Year(Date))

If q1End <= crntDate <= q2End Then
    quart = "Q1" & " " & Year(Date)
ElseIf q2End <= crntDate <= q3End Then
    quart = "Q2" & " " & Year(Date)
ElseIf q3End <= crntDate <= q4End Then
    quart = "Q3" & " " & Year(Date)
Else
    quart = "Q4" & " " & Year(Date)
End If

shName = "Quarterly Reporting for" & " " & firstName & " " & lastName & " " & "(" & quart & ")"
With wdApp.ActiveDocument
    .SaveAs2 "https://path/" & shName & ".docx"
    .Close
End With
迅雷帧

如果您尝试将日期格式化为季度,则不需要所有结束日期和比较,您可以\在 VBA 中使用整数除法

Sub test()

  Dim quart As String
  quart = GetDateAsQuarterYear(VBA.Date)

  shName = "Quarterly Reporting for" & " " & firstName & " " & lastName & " " & "(" & quart & ")"
  With wdApp.ActiveDocument
    .SaveAs2 "https://path/" & shName & ".docx"
    .Close
  End With
End Sub

Function GetDateAsQuarterYear(crntDate As Date) As String

  Dim quarterEnd As Date
  quarterEnd = DateSerial(Year(crntDate), 1 + 3 * (1 + (Month(crntDate) - 1) \ 3), 0)

  GetDateAsQuarterYear = "Q" & 1 + (Month(crntDate) - 1) \ 3 & " (" & Format$(quarterEnd, "mmmm d, yyyy") & ")"

End Function

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较日期范围Excel VBA

来自分类Dev

使用VBA Excel比较日期以填充单元格

来自分类Dev

在Excel VBA中将表列与当前日期进行比较

来自分类Dev

excel比较日期错误

来自分类Dev

EXCEL VBA:仅从所有日期开始比较日期和月份

来自分类Dev

Excel VBA代码可将系统日期与工作表中的日期进行比较

来自分类Dev

将所选的日期时间与Excel VBA中的日期和时间选择器进行比较

来自分类Dev

Excel VBA日期格式

来自分类Dev

Excel VBA 日期替换

来自分类Dev

运行时错误'13:比较日期时键入不匹配-EXCEL VBA

来自分类Dev

Excel VBA Makro比较并复制

来自分类Dev

Excel VBA按日期排序

来自分类Dev

Excel VBA中的日期格式

来自分类Dev

日期之间的Excel VBA Countif

来自分类Dev

Excel VBA按日期排序

来自分类Dev

Excel-vba比较,条件,删除

来自分类Dev

使用 VBA 比较 Excel 中的 3 列

来自分类Dev

VBA - 用于比较两列的 Excel

来自分类Dev

比较多列 VBA EXCEL(嵌套循环)

来自分类Dev

Excel - 想要将预计日期与目标日期进行比较

来自分类Dev

Excel VBA自动更新列(日期)

来自分类Dev

Excel VBA日期被减去一天

来自分类Dev

使用Excel VBA拉文件的日期

来自分类Dev

日期格式VBA-Excel有问题

来自分类Dev

Excel VBA接受错误的日期输入

来自分类Dev

Excel VBA将文本转换为日期

来自分类Dev

Excel VBA格式的缩写和日期

来自分类Dev

VBA代码无法正确排序日期(Excel)

来自分类Dev

文本框日期格式Excel VBA