excel - 日期格式在excel vba中不起作用
问题描述
我的日期选择器日期有些困难。StartDate 和 EndDate 是来自 DatePicker 的值,而 Debug.Print 会给我“mm/dd/yyyy”。我正在尝试将日期格式更改为“dd/mmm/yyyy”,以便能够将其与来自 MS 访问的数据进行比较。但它不起作用。
Sub cmdSubmit_Click()
Dim StartDate As Date, EndDate As Date
StartDate = DTPickStart.Value ' 6/11/2018
EndDate = DTPickEnd.Value ' 6/24/2018
StartDate = Format(StartDate, "dd/mmm/yyyy")
EndDate = Format(EndDate, "dd/mmm/yyyy")
Debug.Print StartDate ' gave me 6/11/2018 instead of 11/Jun/2018
Debug.Print EndDate
End Sub
关于我在这里做错了什么有什么建议吗?
提前致谢!
解决方案
Format 可能会以您想要的格式返回日期,但随后会将其转换为日期值,然后以系统的默认格式打印。要将它们以您想要的格式存储,您可以尝试以下操作:
Option Explicit
Sub cmdSubmit_Click()
Dim StartDate As Date, EndDate As Date
Dim s1 As String, s2 As String
StartDate = #6/11/2018#
EndDate = #6/24/2018#
'StartDate = Format(StartDate, "dd/mmm/yyyy")
'EndDate = Format(EndDate, "dd/mmm/yyyy")
s1 = Format(StartDate, "dd/mmm/yyyy")
s2 = Format(EndDate, "dd/mmm/yyyy")
Debug.Print StartDate & " - " & s1 ' gave me 6/11/2018 instead of 11/Jun/2018
Debug.Print EndDate & " - " & s2
End Sub
或者,如果您希望它们在单元格中作为日期,您可以将NumberFormat
写入它们的范围设置为您想要的格式:
Sheet1.Range("A1") = StartDate
Sheet1.Range("A2") = EndDate
Sheet1.Range("A1:A2").NumberFormat = "dd.mmm.yyyy"
推荐阅读
- r - purrr::walk 是一个 noop 但具有相同参数的 purr::map 不是
- mpi - 了解 MPI_Type_vector
- python - 合并两个数据框并使用自定义函数有条件地计算新列 - 未转换的数据仍然存在:t
- javascript - 递归函数过早退出for循环
- python - 产生二叉树的所有从根到叶的分支
- opencv - 如何在 Ubuntu 14.04 中安装 OpenCV 3.4.5?
- xamarin - Xamarin Forms 中的热重载
- kotlin - 在 kotlin-multiplatform 上生成 UUID?
- java - 无法在 JAVA 中验证 ASCII CHARACTER 29 打印
- octave - 尽管是路径中的第一个目录,但 Octave Psychtoolbox 找不到 Screen.mex