VBA EXCEL – 查找列中最早的date

目前正在使用一个函数,作为它的一部分,我需要findVBA中列中最早的date。 花了一段时间寻找解决scheme,但找不到多less。 我发现一条线,但实际上并没有工作。 我张贴我的代码片段,但任何build议或解决scheme将不胜感激!

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 

您希望Min ,而不是最老的date的Max ,它是WorksheetFunction而不是Worksheet的成员:

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

您正在将工作表函数调用与工作表混合在一起,并尝试将文本看起来像date一样填充为长整数。

 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()