我有一个用户窗体,其日期和时间戳记为dd/mm/yyyy hh:mm:ss。VBA Userform日期/时间戳 - UK复制到单元格时,日期更改为US格式
它显示在文本框中英国格式,我使用此代码它产生:
Dim iNow
Dim d(1 To 6)
Dim i As Integer
iNow = Now
d(3) = Year(iNow)
d(2) = Month(iNow) & "/"
d(1) = Day(iNow) & "/"
d(4) = Hour(iNow) & ":"
d(5) = Minute(iNow) & ":"
d(6) = Second(iNow)
For i = 1 To 6
If d(i) < 10 Then Timestamp = Timestamp & "0"
Timestamp = Timestamp & d(i)
If i = 3 Then Timestamp = Timestamp & " "
Next i
datetextbox.Value = Timestamp
出现问题时的代码转移使用下面的代码此信息到Excel的数据库表下面的块:
'Determine emptyRow in Database Sheet
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
Cells(emptyRow, 14).Value = datetextbox.Value
当进入电子表格单元格时,会发生什么变化为MM/DD/YYYY。我尝试过VBA中的数字格式化,并且在下拉菜单中使用了自定义设置,并且检查了区域设置在两台独立的机器上是英国的。这是我创建了一个文件,将使用这个公式,然后将数据传送到一个清洁片,承认最近的相同的参考数量的记录组成部分:
=MAX(IF(Database!$P$2:$P$1437=P488,IF(Database!$P$2:$P$1437=P488,Database!$N$2:$N$1437,"")))
我也尝试一个简单的现在( )说明格式dd/mm/yyyy/hh:mm:ss,但是这也转换为美国格式。
任何帮助,将不胜感激。
请注意,您也可以使用'Timestamp = Format(现在,“DD/MM/YYYY hh:mm:ss”)'。如果你的区域格式使用'/'以外的东西作为分隔符,则需要使用另外的“\”:'“DD \/MM \/YYYY”'。时间戳可能应该是'Dim'ed'String',所以你最终不会得到'Date'类型, – arcadeprecinct