我日期的excel文件格式爲Mar 30 2016 10:12:27:396AM
我想將格式更改爲mm/dd/yyyy
。但我有我的代碼中的錯誤..VBA - 日期格式「mm/dd/yyyy」
運行時錯誤「13」:類型不匹配
這是我得到了錯誤的行SecondDate = Trim(Sheet2.Range("B" & RowNo).Value)
注意 :從列A和B的數據是日期
我的代碼:
Dim Result, RowNo As Long
Dim FirstDate As Variant
Dim SecondDate As Variant
RowNo = 2
FirstDate = Trim(Sheet2.Range("A" & RowNo).Value)
SecondDate = Trim(Sheet2.Range("B" & RowNo).Value)
FirstDate = Format(FirstDate, "mm/dd/yyyy")
SecondDate = Format(SecondDate, "mm/dd/yyyy")
Do Until Sheet2.Cells(RowNo, 1) = ""
FirstDate = Sheet2.Cells(RowNo, 1)
SecondDate = Sheet2.Cells(RowNo, 2)
If DateDiff("d", FirstDate, SecondDate) >= 15 Then
Sheet2.Cells(RowNo, 3) = "1"
Sheet2.Cells(RowNo, 4) = "2"
End If
RowNo = RowNo + 1
Loop
我確實感覺自己在正確的道路上..我錯過了什麼?
更新:我的腳本將Column A
和Column B
獲取數據,並使用則DateDiff功能我會減如果兩列不同的是< 15標籤從Column C and D
作爲1, 2
記:
- 我只減去bot的日子h列..但是有可能減去日和年?
- 它的工作,如果我在Excel中使用的格式mm/dd/yyyy的,但如果我使用其他格式的我得到了錯誤不匹配
更新2:
Column A | Column B | Column C
Mar 1 2016 10:12:27:396AM | Mar 30 2016 10:12:27:396AM |
Mar 1 2016 10:12:27:396AM | Mar 30 2016 10:12:27:396AM |
在我的文件這是日期格式,如果你嘗試這個樣本數據,它不會工作,也許是因爲VBA不認識到這是dateformat?
'TRIM(Sheet2.Range( 「A」 &RowNo)。價值)'和'格式(FirstDate中, 「mm /日/年」)'返回一個字符串,不一個約會。 – assylias
如果我懸停'SecondDate',仍然有錯誤,我得到'SecondDate = 12:00:00 AM'的值' – 7A65726F
DIM語句將FirstDate設置爲Variant和SecondDate作爲Date。 FirstDate的計算很好,因爲它是變體。 SecondDate的計算是錯誤的,因爲您正在爲日期數據類型分配一個字符串。 – OldUgly