VBA 배열 내에서 날짜비교 최신날짜 가져오기 (MAX 미사용)

2020. 4. 13. 11:43VBA/배열활용

728x90
반응형



<VBA> 엑셀 내 배열에서 날짜를 비교하여 가장 최신 날짜를 뽑아내는 코드

Sub test()

    Dim m As Workbook
    Dim ms As Worksheet
    
    Set m = Workbooks(ThisWorkbook.Name)
    Set ms = m.Sheets("Sheet2")
    
    Dim v() As Variant
    Dim r As Integer
    ReDim v(1 To 1)
    
    '임시로 배열 생성
    v = Array("2020-04-01", "2020-04-09", "2020-04-02")
    
    Dim strResult As String
    strResult = return_recentDate(v)
    
    Debug.Print (strResult)

End Sub

Function return_recentDate(ByRef v() As Variant) As String
    ' 버블 정렬
    First = LBound(v)
    Last = UBound(v)
    For i = First To Last - 1
        For j = i + 1 To Last
            If v(i) > v(j) Then
                Temp = v(j)
                v(j) = v(i)
                v(i) = Temp
            End If
        Next j
    Next i
    
    Dim maxDate As String
    maxDate = v(UBound(v))
    
    return_recentDate = maxDate

End Function
​

 

728x90
반응형