VBA EXCEL - 查找列中最早的日期

时间:2017-07-11 14:26:56

标签: excel vba excel-vba

目前正在处理一个函数,作为其中的一部分,我需要在VBA的列中找到最早的日期。花了一段时间寻找解决方案,但找不到多少。我发现了一行,但实际上并没有起作用。生病了我发布的代码片段,但任何建议或解决方案将不胜感激!

Public Function SetSOWDates() As String

    Dim wsCRC As Worksheet
    Set wsCRC = Worksheets("CRC")

    Dim LastRowInCRC As Long

    LastRowInCRC = CRC.LastRowInCRC()

    LatestDate = Format(wsCRC.Max(Range("K8:K" & LastRowInCRC)), "dd/mm/yyyy")

    Debug.Print LatestDate

End Function

2 个答案:

答案 0 :(得分:3)

您希望Min,而不是Max代表最早的日期,而且它是WorksheetFunction的成员,而不是Worksheet

LatestDate = Format(Worksheetfunction.Min(wsCRC.Range("K8:K" & LastRowInCRC)), "dd/mm/yyyy")

答案 1 :(得分:0)

您正在将工作表函数调用与工作表混合,并尝试将类似于日期的文本填充为长整数。

Public Function SetSOWDates() As String

    Dim wsCRC As Worksheet
    Dim LastRowInCRC As Long

    Set wsCRC = Worksheets("CRC")

    LastRowInCRC = wsCRC.LastRowInCRC()

    LatestDate = application.Min(wsCRC.Range("K8:K" & LastRowInCRC))

    Debug.Print Format(LatestDate, "dd/mm/yyyy")

End Function

CRC.LastRowInCRC()中还有一个拼写错误,而不是wsCRC.LastRowInCRC()