我有一個用戶窗體,其日期和時間戳記爲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