当前位置:首页 > VB数组操作模块 数组添加 数组插入,数组删除
Attribute VB_Name = \数组操作模块\
Option Explicit
'************************************************************************* '**函 数 名:AddElement '**中 文 名:加入成员
'**功能描述:将数据加入到指定数组变量的尾部,并通过ReDim()自动增加其成员数目.
'**补 充:参数<1>的名称为\欲加入成员的数组变量\类型为\ariant(通用型)\提供参数数据时只能提供变量数组.
'参数<2>的名称为\欲加入的成员数据\类型为\ariant(通用型)\只可提供非数组数据.参数值所指定成员数据的数据类型必须能够与第一个参数所指定的数组变量相匹配.
'*************************************************************************
Public Sub AddElement(ByRef ArrayType As Variant, ByVal ArrayData As Variant) '加入成员 Dim ArrayTypeName As String, ArrayDataName As String ArrayTypeName = TypeName(ArrayType)
ArrayTypeName = Replace(ArrayTypeName, \ ArrayTypeName = Replace(ArrayTypeName, \ ArrayDataName = TypeName(ArrayData)
ArrayDataName = Replace(ArrayDataName, \ArrayDataName = Replace(ArrayDataName, \
If ArrayTypeName <> \And ArrayDataName = \
If (MsgBox(\编译错误:\不能将\数据转换到\数据.\isual Basic\ Stop
AddElement ArrayType, ArrayData Else
End End If Else
ReDim Preserve ArrayType(UBound(ArrayType) + 1) ArrayType(UBound(ArrayType)) = ArrayData End If End Sub
'************************************************************************* '**函 数 名:InsElement '**中 文 名:插入成员
'**功能描述:将数据插入到指定数组变量的指定位置,并通过ReDim()自动增加其成员数目.
'**补 充:参数<1>的名称为\欲加入成员的数组变量\类型为\ariant(通用型)\提供参数数据时只能提供变量数组.
'参数<2>的名称为\欲插入的位置\类型为\整数型)\位置值从 0 开始,如果小于 0 或大于第一个参数所指定数组变量的成员数目 + 1,将不会插入任何数据.
'参数<3>的名称为\欲插入的成员数据\类型为\ariant(通用型)\提供参数只可提供非数组数据.参数值所指定成员数据的数据类型必须能够与第一个参数所指定的数组变量相匹配.
'*************************************************************************
Public Sub InsElement(ByRef ArrayType As Variant, ByVal ArrayPos As Long, ByVal ArrayData As Variant) '插入成员 Dim ArrayTypeName As String, ArrayDataName As String Dim AddTempData As Variant, Temp As Variant, i As Long ArrayTypeName = TypeName(ArrayType)
ArrayTypeName = Replace(ArrayTypeName, \ ArrayTypeName = Replace(ArrayTypeName, \ ArrayDataName = TypeName(ArrayData)
ArrayDataName = Replace(ArrayDataName, \ ArrayDataName = Replace(ArrayDataName, \
If ArrayTypeName <> \And ArrayDataName = \
If (MsgBox(\编译错误:\不能将\数据转换到\数据.\isual Basic\
Stop
InsElement ArrayType, ArrayPos, ArrayData Else End End If
ElseIf ArrayPos < 0 Then
If (MsgBox(\编译错误:\+ vbCrLf + vbCrLf + Chr(34) + \+ Chr(34) + \命令的欲插入位置参数值必须大于或等于0\vbExclamation + vbRetryCancel, \isual Basic\ Stop
InsElement ArrayType, ArrayPos, ArrayData Else End End If
ElseIf ArrayPos > UBound(ArrayType) Then Exit Sub Else
AddTempData = ArrayData
ReDim Preserve ArrayType(UBound(ArrayType) + 1) For i = ArrayPos To UBound(ArrayType) Temp = ArrayType(i)
ArrayType(i) = AddTempData AddTempData = Temp Next End If End Sub
'************************************************************************* '**函 数 名:RemoveElement '**中 文 名:删除成员
'**功能描述:删除指定数组变量中的成员,并通过ReDim()自动减少其成员数目. '**补 充:参数<1>的名称为\欲删除成员的数组变量\类型为\ariant(通用型)\提供参数数据时只能提供变量数组.
'参数<2>的名称为\欲删除的位置\类型为\整数型)”.位置值从 0 开始,如果小于 0 或大于第一个参数所指定数组变量的成员数目,将不会删除任何数据.
'参数<3>的名称为\欲删除的成员数目\类型为\整数型)\可以被省略.本参数如果被省略,默认为 1 .
'*************************************************************************
Public Sub RemoveElement(ByRef ArrayType As Variant, ByVal ArrayPos As Long, Optional ArraySum As Long) '删除成员 Dim l As Long, i As Long, j As Long If ArrayPos < 0 Then
If (MsgBox(\编译错误:\+ vbCrLf + vbCrLf + Chr(34) + \+ Chr(34) + \命令的欲插入位置参数值必须大于或等于0\vbExclamation + vbRetryCancel, \isual Basic\ Stop
RemoveElement ArrayType, ArrayPos, ArraySum Else End End If
共分享92篇相关文档