VBA实现数组Array与集合Collection互换
来源:互联网 发布:安卓ssr软件 编辑:程序博客网 时间:2024/05/17 01:23
数组和集合在VBA中是常用的数据类型,这里水文具工集在VBA中实现数组Array与集合Collection的相互转换,编写了两个通用的过程ArrayToCollection与CollectionToArray,方便程序中调用,具体源代码如下:
数组转换到集合ArrayToCollection
'================================' VBA数组转换到集合ArrayToCollection'' http://www.cnhup.com'================================Public Function ArrayToCollection( _ Arr As Variant, ByRef Coll As Collection) _ As BooleanDim Ndx As LongDim KeyVal As StringIf IsArray(Arr) = False Then ArrayToCollection = False Exit FunctionEnd IfOn Error GoTo ErrH:Select Case NumberOfArrayDimensions(Arr:=Arr) Case 0 ArrayToCollection = False Exit Function Case 1 For Ndx = LBound(Arr) To UBound(Arr) Coll.Add Item:=Arr(Ndx) Next Ndx Case 2 For Ndx = LBound(Arr, 1) To UBound(Arr, 1) KeyVal = Arr(Ndx, 1) If Trim(KeyVal) = vbNullString Then Coll.Add Item:=Arr(Ndx, 1) Else Coll.Add Item:=Arr(Ndx, 0), Key:=KeyVal End If Next Ndx Case Else ArrayToCollection = False Exit FunctionEnd SelectArrayToCollection = TrueExit FunctionErrH: ArrayToCollection = FalseEnd Function
集合转换到数组CollectionToArray
'================================' VBA集合转换到数组CollectionToArray'' http://www.cnhup.com'================================Public Function CollectionToArray( _ Coll As Collection, Arr As Variant) _ As BooleanDim V As VariantDim Ndx As LongIf Coll Is Nothing Then CollectionToArray = False Exit FunctionEnd IfIf IsArray(Arr) = False Then CollectionToArray = False Exit FunctionEnd IfIf IsArrayDynamic(Arr:=Arr) = False Then CollectionToArray = False Exit FunctionEnd IfIf Coll.Count < 1 Then CollectionToArray = False Exit FunctionEnd If ReDim Arr(1 To Coll.Count)For Ndx = 1 To Coll.Count If IsObject(Coll(Ndx)) = True Then Set Arr(Ndx) = Coll(Ndx) Else Arr(Ndx) = Coll(Ndx) End IfNext NdxCollectionToArray = TrueEnd Function
0 0
- VBA实现数组Array与集合Collection互换
- 集合与数组互换
- excel VBA 字典与集合(Dictionary与Collection)
- VBA 字典与集合(Dictionary与Collection)
- Collection集合,数组
- Map集合,List集合,Array数组,Iterator迭代,Collection集合,Set集合的多种遍历方式
- 数组与集合的应用之数组演练(将二维数组中的行列互换)
- 数组与collection(集合类)之间的转换
- Swift 集合类型(Collection Type) 之 数组(array)(官方文档翻译及总结)
- Java中取得数组(array),集合(Collection)和字符串(String)的长度
- Java Collection与集合
- VBA Collection
- JAVA 集合 JSON 数组 实体互换
- JAVA中List与Array之间互换
- python 中List 与array互换
- 字符数组与字符串互换
- 数组与字符串的互换
- java中 set,list,array(集合与数组)相互转换
- 逆序数的三种求法
- 基于TCP协议的”hello world“
- linux线程的实现
- ffmpeg avfilter小结
- 【杭电】[1001]Sum Problem
- VBA实现数组Array与集合Collection互换
- Codevs_P3372 选学霸(并查集+DP+背包)
- Gradle Buildscript
- ios客户端学习-日历控件
- C/C++ 内存传递 指针
- 向韦东山学:spi协议+oled裸板程序
- 分享个人maven本地库
- Java实现倒计时代码
- C/C++ 常量指针,指针常量