我有一个带有日期和时间戳dd / mm / yyyy hh:mm:ss的用户窗体。
它在文本框中以UK格式显示,我使用以下代码生成它:
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中以及下拉菜单中使用数字格式设置,并使用了自定义设置,并检查了两台单独计算机上的区域设置是否为UK。这是我创建的文档的组成部分,该文档将使用以下公式识别具有相同参考编号的最新记录,然后将数据传输到清洗页:
=MAX(IF(Database!$P$2:$P$1437=P488,IF(Database!$P$2:$P$1437=P488,Database!$N$2:$N$1437,"")))
我确实尝试了一个简单的Now(),说明格式dd / mm / yyyy / hh:mm:ss,但这也转换为美国格式。
任何帮助,将不胜感激。
我怀疑在此之前已经对此回答了很多次,但是您需要使用CDate
:
Cells(emptyRow, 14).Value = CDate(datetextbox.Value)
这将使用您的区域设置将日期字符串转换为真实的日期值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句