2017-07-11 28 views
2

現在、関数を処理しており、その一部としてVBAの列で最も古い日付を見つける必要があります。解決策を探しているうちに過ごしたことがありますが、多くは見つけることができません。私は1行を見つけましたが、実際には動作しません。私が持っているコードスニフをポストしてください。しかし、どんな提案や解決策も大いにありがとう!VBA EXCEL - 列の中で最も古い日付を見つける

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

あなたはMin、最も古い日付のないMaxたい、それがWorksheetではなくWorksheetFunctionのメンバーです:

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

最小/最大の問題をうまく捕らえます。私はそれを完全に逃した。 – Jeeped

+0

私は実際には、この答えを読む前にそれを理解することができたが、多くの助けを感謝:) – SBozhko

0

あなたはworksheetfunctionアップミキシングされているワークシートを呼び出し、テキストを詰め込むしようとしています - これは長い整数に日付のように見えます。

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()にタイプミスもありました。

関連する問題