获取VBA集合中的Max&Min编号

Lin*_*nga 2 arrays excel vba excel-vba

我有一个名为Num_Key 的VBA集合(Num_Key作为New Collection),它将在其中存储唯一的数字.

有没有办法从Num_Key VBA集合中获取最小最大数字而没有循环?

先感谢您 :)

Vit*_*ata 5

  1. 将集合转换为数组
  2. 使用WorksheetFunction.MaxWorksheetFunction.Min在阵列上.

像这样:

Option Explicit

Sub TestMe()

    Dim myCollection As New Collection

    myCollection.Add 1
    myCollection.Add 2
    myCollection.Add 100
    myCollection.Add 50
    Debug.Print WorksheetFunction.Max(CollectionToArray(myCollection))

End Sub

Public Function CollectionToArray(myCol As Collection) As Variant

    Dim result  As Variant
    Dim cnt     As Long

    ReDim result(myCol.Count - 1)
    For cnt = 0 To myCol.Count - 1
        result(cnt) = myCol(cnt + 1)
    Next cnt
    CollectionToArray = result

End Function
Run Code Online (Sandbox Code Playgroud)