我在文本格式的单元格A1中有一个日期 - 5月18日
使用VBA,是否有可能将此值与单元格A2 - 01/05/2018(英国日期格式)中的值进行积极比较?
我尝试过使用CDate函数,但它没有返回正确的值。例如,如果A1中的值是11月24日,则CDate将重新发布24/11/2018。
所以,我想做的是: - 如果A1 = 5月18日 AND A2 = 01/05/2018 那么真的
答案 0 :(得分:3)
您可以使用DATEVALUE
:
=DATEVALUE("1 " & $A$1)=$A$2
如果单元格A1中的第1个月与单元格A2中的日期相同,则返回TRUE。
答案 1 :(得分:1)
您可以使用Excel公式:
=TEXT("18 May","dd-mm-yyyy")
或者在VBA中:
Dim Dt As Date
Dt = CDate(Range("A1"))
Dim Compare As Boolean
Compare = Dt = Range("A2")
答案 2 :(得分:0)
使用VBA,请考虑:
Sub DateCompaison()
Dim s1 As String, s2 As String, d2 As Date
s1 = [A1].Text
s2 = [A2].Text
arry1 = Split(s1, " ")
arry2 = Split(s2, "/")
month1 = arry1(0)
year1 = "20" & arry1(1)
d2 = DateSerial(CInt(arry2(2)), CInt(arry2(1)), CInt(arry2(0)))
month2 = Format(d2, "mmmm")
year2 = CStr(Year(d2))
If month1 = month2 And year1 = year2 Then
MsgBox "the same"
Else
MsgBox "not the same"
End If
End Sub