Private MyUDF As New UDF.ArrayConversion
Sub 是否包含某元素()
Dim Array1(2 To 5) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Debug.Print MyUDF.Contains(Array1, 'Excel') '打印结果为True
End Sub
Sub 倒序()
Dim Array1(2 To 5) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Dim Array2 As Variant
Array2 = MyUDF.Reverse(Array1) '倒序的结果返回给Array2
Debug.Print Join(Array2, '/') '打印结果为Access/Outlook/Excel/Word
MyUDF.ReverseSelf Array1 '直接对Array1进行倒序
Debug.Print Join(Array1, '/') '打印结果为Access/Outlook/Excel/Word
End Sub
Sub 去重()
Dim Array1(2 To 6) As Integer
Array1(2) = 22
Array1(3) = 33
Array1(4) = 22
Array1(5) = 44
Array1(6) = 33
Dim Array2 As Variant
Array2 = MyUDF.Distinct(Array1)
Debug.Print Join(Array2, '/') '打印结果为22/33/44
End Sub
Sub 连接数组()
Dim Array1(2 To 5) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Dim Array2 As Variant
Array2 = MyUDF.JoinArray(Array1, Array(1, 2, 3), Array(True, False))
Debug.Print Join(Array2, '/') '打印结果为Word/Excel/Outlook/Access/1/2/3/True/False
End Sub
Sub 排序()
Dim Array1(2 To 5) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Dim Array2 As Variant
Array2 = MyUDF.Sort(Array1)
Debug.Print Join(Array2, '/') '打印结果为Access/Excel/Outlook/Word
MyUDF.SortSelf Array1 '对Array1自身升序
MyUDF.ReverseSelf Array1 '对Array1自身倒序
Debug.Print Join(Array1, '/') '打印结果为Word/Outlook/Excel/Access
End Sub
Sub 检索元素位置()
Dim Array1(2 To 6) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Array1(6) = 'Excel'
Debug.Print MyUDF.IndexOf(Array1, 'Outlook') '结果:4
Debug.Print MyUDF.IndexOf(Array1, 'outlook') '结果:-1
Debug.Print MyUDF.LastIndexOf(Array1, 'Excel') '结果:6
End Sub
Sub 指定位置插入另一数组()
Dim A(2 To 6) As Integer
A(2) = 22
A(3) = 33
A(4) = 22
A(5) = 44
A(6) = 33
Dim B(-3 To -1) As String
B(-3) = 'Word'
B(-2) = 'Excel'
B(-1) = 'Outlook'
Dim Array3 As Variant
Array3 = MyUDF.InsertRange(A, 4, B)
Debug.Print Join(Array3, '/') '打印结果为22/33/Word/Excel/Outlook/22/44/33
End Sub
Sub 删除连续多个元素()
Dim Array1(2 To 6) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Array1(6) = 'Excel'
Dim Array2 As Variant
Array2 = MyUDF.RemoveRange(Array1, 3, 2)
Debug.Print Join(Array2, '/') '打印结果为Word/Access/Excel
End Sub
Sub 部分元素构成新数组()
Dim Array1(2 To 6) As String
Array1(2) = 'Word'
Array1(3) = 'Excel'
Array1(4) = 'Outlook'
Array1(5) = 'Access'
Array1(6) = 'Excel'
Dim Array2 As Variant
Array2 = MyUDF.GetRange(Array1, 3, 3)
Debug.Print Join(Array2, '/') '打印结果为Excel/Outlook/Access
End Sub
Sub 用另一数组覆盖一部分元素()
Dim Array1(2 To 6) As Integer
Array1(2) = 2
Array1(3) = 3
Array1(4) = 4
Array1(5) = 5
Array1(6) = 6
Dim Array2(2) As String
Array2(0) = 'Word'
Array2(1) = 'Excel'
Array2(2) = 'Outlook'
Dim Array3 As Variant
Array3 = MyUDF.SetRange(Array1, 3, Array2)
Debug.Print Join(Array3, '/') '打印结果为2/Word/Excel/Outlook/6
End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。