DateValue(“Mar / 02/2015”)导致types不匹配。 区域设置德国

我写了代码来显示一年的季度,而不是使用确切的date。 它看起来像这样:

"Q" & Application.WorksheetFunction.RoundUp(Month(ws.Cells(i, 3).Value) / 3, 0) _ & " " & Year(ws.Cells(i, 3).Value) 

ws.Cells(i, 3).Value可以是"Mar/06/2015" ws.Cells(i, 3).Value "Mar/06/2015"和其他date。 然而"Feb/06/2015"作品,但我得到了types不匹配“ Mar/06/2015" 。 为什么?

假设你的数据格式是一致的,你可以使用这个函数从单元格返回一个实际的date值,然后你可以使用你的MonthYear函数:

 Function GetDate(sInput As String, Optional sDelimiter As String = "/") As Date Dim vParts vParts = Split(sInput, sDelimiter) GetDate = Evaluate("DateValue(""" & vParts(1) & "-" & vParts(0) & "-" & vParts(2) & """)") End Function