【问题标题】:VBA - setting a date format to a variableVBA - 将日期格式设置为变量
【发布时间】:2017-12-18 00:36:13
【问题描述】:

新手VBA 用户在这里。我认为这可能是一个非常容易回答的问题,但我无法在任何其他网站上找到解决方案,如果是这种情况,我们深表歉意。

我正在编写一段非常短的代码,它将最新的工作日插入到它尚未存在的列中,然后移至下一列并在它存在的地方运行相同的流程。代码如下。注意我已经简化了这一点,但删除了 else 条件。我想将 lastbusinessday 变量的日期格式设置为 "dd/mm/yyyy" - 目前它包括 hh/mm/ss 这导致 if 函数无法正常工作。

如何声明这个变量的条件?

Sub Dateextend4()
    Dim lastbusinessday As Date

    If Weekday(Now()) = 2 Then
        lastbusinessday = (Now() - 3)
    Else
        lastbusinessday = (Now() - 1)
    End If

    Sheets("pb CDS").Select
    Range("b13").Select
    Selection.End(xlDown).Select

    If ActiveCell.Offset(0, 0).Value < lastbusinessday Then
        ActiveCell.Offset(1, 0) = format(lastbusinessday, "mm / dd / yyyy")
    Else
    End If
End Sub

谢谢

【问题讨论】:

  • 试试date()?
  • 对不起,我不确定你的意思。我在哪里使用'date()',我是否将我想要的格式“dd/mm/yyyy”放在括号内?
  • Now() 替换为Date() 并使用大写MM 表示月份
  • 那行得通。非常感谢。
  • 如果它解决了您的问题,请接受答案(答案旁边的勾号)。

标签: vba date variables format


【解决方案1】:

试试这个

If Weekday(Date()) = 2 Then
    lastbusinessday = (Date() - 3)
Else
    lastbusinessday = (Date() - 1)
End If

Format(lastbusinessday, "dd/MM/yyyy")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多