目前正在处理一个函数,作为其中的一部分,我需要在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
答案 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()
。