2

(Excel 2010 VBA)我有一个单元格(A1),其中包含 mmm-yy 格式的日期(“自定义”类别)。例如,如果我输入 1/6/13,则单元格显示 June-13。没关系。在我的 VB 宏中,我需要检查该日期是否为当前月份以及年份是否为当前年份。我不在乎这一天。

4

3 回答 3

5

这对您有帮助吗:

Public Sub test()
    d = Sheet1.Range("A1")
    n = Now()
    If Year(d) = Year(n) And Month(d) = Month(n) Then
        MsgBox "It works"
    End If
End Sub
于 2013-06-18T08:38:23.743 回答
2

感谢 Dave 和 MiVoth,我做到了:

Dim xdate As Date  
xdate = Worksheets("sheet1").Range("A1")  
   If Month(Date) = Month(xdate) And Year(Date) = Year(xdate) Then  
      MsgBox "OK"  
   Else  
      MsgBox "not OK"  
   End If  

那完成了工作!
非常感谢大家,
加迪

于 2013-06-18T08:48:46.353 回答
1

这个怎么样:

Function MonthYear() As Boolean
MonthYear = False
If Not IsDate(Cells(1, 1)) Then Exit Function
If Month(Date) = Month(Cells(1, 1)) And Year(Date) = Year(Cells(1, 1)) Then
    MonthYear = True
End If
End Function

如果月份和年份与当前日期相同,则该函数返回 true。如果不是,则返回 false。

于 2013-06-18T08:31:45.193 回答