所以,这真的让我发疯了,由于格式问题,我在VBA上使用日期时遇到了很多问题,因为我需要的日期是dd / mm / yyyy格式。我在互联网上做了很多搜索,我在VBA中发现了很多关于这些日期格式的讨论,但我无法找到解决问题的方法。
问题:我在工作表上存储了一些日期,格式为dd / mm / yyyy - 我通过userforms将它们存储在那里,我在格式化方面遇到了一些问题但是效果很好最后 - ,我想在userform标签上显示其中一个日期。这是我为此写的代码:
Me.Label2_Prazo.Caption = Format(Plan1.Cells(pos, 5), "dd/mm/yyyy")
但是,它仍然会错误地显示日期。在我的工作表上,日期存储为" 05/03/2016" (如同2016年3月5日),但每当我尝试在用户表单上显示它时,它显示为" 03/05 / 2016"。
我已经尝试了许多不同的方法来完成这项工作,但我似乎无法解决这个问题。
提前感谢您提供的任何帮助!
答案 0 :(得分:0)
我(个人)赞成自己构建格式的解决方案。这可能是因为我在公司环境中工作了几年,我必须处理俄语,匈牙利语,德语,美国,中文和许多其他日期格式。其中一些遵循奇怪的格式,如YYYY. MMMM D.
。无论如何,在你的情况下,我会提出以下建议:
Dim dttDate As Date
dttDate = CDate(Plan1.Cells(pos, 5).Value)
Me.Label2_Prazo.Caption = Right("0" & Day(dttDate), 2) & "/" & Right("0" & Month(dttDate), 2) & "/" & Year(dttDate)
另一方面说明:在VBA中,我尝试使用DateSerial
来构建我的大多数日期,以确保我真正生成我想要的日期(并且不要混淆各种日期)不同的日期格式)。