VBA数组与字典知识与实例---数组

合集下载

VBA字典用法集锦及案例代码详解

VBA字典用法集锦及案例代码详解

VBA字典用法集锦及案例代码详解dadaVBA字典用法集锦及案例代码详解前言凡是上过学校的人都使用过字典,从新华字典、成语词典,到英汉字典以及各种各样数不胜数的专业字典,字典是上学必备的、经常查阅的工具书。

有了它们,我们可以很方便的通过查找某个关键字,进而查到这个关键字的种种解释,非常快捷实用。

凡是上过EH论坛的想学习VBA里面字典用法的,几乎都看过研究过northwolves狼版主、oobird版主的有关字典的精华贴和经典代码。

我也是从这里接触到和学习到字典的,在此,对他们表示深深的谢意,同时也对很多把字典用得出神入化的高手们致敬,从他们那里我们也学到了很多,也得到了提高。

字典对象只有4个属性和6个方法,相对其它的对象要简洁得多,而且容易理解使用方便,功能强大,运行速度非常快,效率极高。

深受大家的喜爱。

本文希望通过对一些字典应用的典型实例的代码的详细解释来给初次接触字典和想要进一步了解字典用法的朋友提供一点备查的参考资料,希望大家能喜欢。

给代码注释估计是大家都怕做的,因为往往是出力不讨好的,稍不留神或者自己确实理解得不对,还会贻误他人。

所以下面的这些注释如果有不对或者不妥当的地方,请大家跟帖时指正批评,及时改正。

字典的简介字典(Dictionary)对象是微软Windows脚本语言中的一个很有用的对象。

附带提一下,有名的正则表达式(RegExp)对象和能方便处理驱动器、文件夹和文件的(FileSystemObject)对象也是微软Windows脚本语言中的一份子。

字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item)联合组成。

就好像一本字典书一样,是由很多生字和对它们对应的注解所组成。

比如字典的“典”字的解释是这样的:“典”字就是具有唯一性的关键字,后面的解释就是它的项,和“典”字联合组成一对数据。

常用关键字英汉对照:2字典的简介Dictionary 字典Key 关键字Item 项,或者译为条目字典对象的方法有6个:Add方法、Keys方法、Items方法、Exists方法、Remove方法、RemoveAll方法。

VBA的数组操作与应用实例

VBA的数组操作与应用实例

VBA的数组操作与应用实例数组是一种常用的数据结构,用于存储和处理大量相同类型的数据。

在VBA 中,数组提供了一种便捷的方式来组织和访问数据。

本文将介绍VBA中数组的操作方法,并结合实际应用案例展示其应用价值。

数组的创建和初始化在VBA中,可以使用Dim语句来声明和定义数组。

以下是一些常见的数组声明和初始化方式:1. 一维数组的声明和初始化:```vbaDim arr1(4) As Integer '声明一个包含5个元素的整型数组arr1(0) = 10 '初始化第一个元素为10arr1(1) = 20 '初始化第二个元素为20arr1(2) = 30 '初始化第三个元素为30arr1(3) = 40 '初始化第四个元素为40arr1(4) = 50 '初始化第五个元素为50```2. 多维数组的声明和初始化:```vbaDim arr2(2, 2) As Integer '声明一个3x3的整型数组arr2(0, 0) = 1 '初始化第一个元素为1arr2(0, 1) = 2 '初始化第二个元素为2arr2(0, 2) = 3 '初始化第三个元素为3arr2(1, 0) = 4 '初始化第四个元素为4arr2(1, 1) = 5 '初始化第五个元素为5arr2(1, 2) = 6 '初始化第六个元素为6arr2(2, 0) = 7 '初始化第七个元素为7arr2(2, 1) = 8 '初始化第八个元素为8arr2(2, 2) = 9 '初始化第九个元素为9```数组的访问和遍历可以使用下标来访问数组中的元素。

在VBA中,数组的下标从0开始。

以下是一些常见的数组遍历方式:1. 一维数组的遍历:```vbaFor i = 0 To UBound(arr1) '通过UBound函数获取数组的上界MsgBox arr1(i) '打印数组元素Next i```2. 多维数组的遍历:```vbaFor i = 0 To UBound(arr2, 1) '通过UBound函数获取数组第一维的上界For j = 0 To UBound(arr2, 2) '通过UBound函数获取数组第二维的上界MsgBox arr2(i, j) '打印数组元素Next jNext i```数组的排序和查找有时候,我们需要对数组进行排序或查找特定元素。

【原创】VBA学习笔记(12)VBA的数组array

【原创】VBA学习笔记(12)VBA的数组array

【原创】VBA学习笔记(12)VBA的数组array一数组 array1.1 什么是数组?具体的例子•以这个语句为例子•arr1=array(1, 2, 3)•左边:变量名=数组名•右边:数组,集合,多个元素集合,多个数据集合,•右边的单个内容,1,2,3 是数组的元素/下标变量•每个元素存储时,会标记1个(看不见的)index 索引下标1.2 什么是数组,抽象的定义:数组也是变量,是一种可存储多个数据的特殊变量•VBA或其他语言里,变量是用来存储数据的。

•而一般来说,1个变量只能用来存储1个数据•现在来了1个特例,有高手发明了数组的概念:数组是一个特殊的变量,可以用来存储多个数据!(甚至是多维的多个数据!)•数组就是多个单位/元素(element)有序的,连续存储在一起作为一个整体,统一叫1个名字(数组名)1.3 数组的特点,index有序不重复,但数组的元素却可以重复•什么叫有序?•就是数组的内容存储是有序的•index 是有序(一般是从小到大)•index也应该是连续的,暂时没见过 index不连续的情况•index也不能重复•但是数组存储的内容,是可以重复的1.数组的index下标默认是从0开始的,比如split生成的,还有未指定index下标的,如 dim arr1(5)2.但是数组的index下标也有从1开始的情况,比如range 赋值的变量,默认下标从1开始,如 arr2=range("b1:d5")3.数组的index下标受控制的情况模块最前面 option base -14.数组index下标最好自己定义好,如 dim arr3(1 to 5)•Dim arr1(3) '其实是0-3,有4个元素•Dim arr1( 1 to 3) '其实是1-3,有3个元素•Option base 11.Sub test_array1()2.3.Dim arr1()4.Dim arr2()5.6.arr1() = Range("c1:c13")7.arr2() = Range("c1:o1")8.9.For i = 1 To 1310.Debug.Print arr1(i, 1)11.Next i12.13.14.For i = 1 To 1315.Debug.Print arr2(1, i)16.Next i17.18.End Sub1.4 数组的核心内容:就4个: 维数,每个维度大小,数据类型,数据举例:dim arr1(5) as integerdim arr2(2 to 6) as stringdim arr3(3,5) as integer1.数组的维数 : 数组可以是1维,2维等等,但数组的维数和嵌套不同!2.每个维数大小:每个维数的lbound() to ubound()3.数组存储数据的类型:可以是单一的,也可以是variant 变化的4.数组存储的内容:每个值的具体内容2 数组的分类•这些概念拿到前面说,是因为自己作为新手,发现很容易弄混概念,分不清什么静态数组,什么是界定清晰的数组?•数组定义和静态动态是相关的,•数组赋值也是和这些概念相关的,比如,静态数组不能被整体赋值,动态数组赋值前,要先界定清晰维数和大小等。

[VBA基础]数组常用知识点

[VBA基础]数组常用知识点

[VBA基础]数组常用知识点VBA中最常用的就是数组和字典,其中数组是必须也是常用的,关于数组的基本概念就不多说了,大家手里资料基本都有,今日我们说说数组的常用知识点:UBount和LBound函数那么,对于一个已经定义了的数组,我们想知道它的最大索引号(上界)和最小索引号(下界)是多少,怎么办呢?用UBound和LBound两个函数就可以了。

如,要想知道数组arr的上界是多少,则:UBound(arr)要想知道数组arr的下界是多少,则:LBound(arr)想知道数组有多少个元素,则:UBound(arr)- LBound(arr)+1Sub Savetime2020()Dim arr(10 To 50)MsgBox '数组的上标是:'& UBound(arr) & Chr(13) &'数组的下标是:' & LBound(arr) & Chr(13) &'数组的元素个数是:' & UBound(arr) - LBound(arr) + 1End Sub如果是一个二维数组,想知道它的上界是多少,就得指定维数Sub Savetime2020()Dim arr(1 To 10, 1 To 100)MsgBox '第一维的上界是:'& UBound(arr, 1) & Chr(13) & '第二维的上界是:'& UBound(arr, 2)End Sub使用Split创建数组arr= Split('A,B,C,CCC ',',')用Split把文本转换成数组,索引号总是从0开始。

通过Range创建数组比如想把A1:A100单元格的值给数组arr,代码还可以简单写为:arr= [a1:a100]Join函数Join的作用和Split的作用相反。

VBA与数组使用技巧与实例分享

VBA与数组使用技巧与实例分享

VBA与数组使用技巧与实例分享VBA(Visual Basic for Applications)是一种编程语言,用于自动化操作Microsoft Office应用程序,如Excel、Word和PowerPoint等。

VBA的数组是一种非常有用的数据结构,可以存储和处理多个相关数据项。

在本文中,我将分享一些VBA中数组的使用技巧,并提供一些实例来帮助你更好地理解。

1. 声明和初始化数组在VBA中,可以使用Dim语句声明数组,并使用赋值语句初始化它们。

例如,以下代码声明了一个名为myArray的整数数组,并将其初始化为包含5个元素的数组:```vbaDim myArray(1 To 5) As Integer```你还可以使用Array函数来初始化数组,如下所示:```vbaDim myArray() As VariantmyArray = Array(1, 2, 3, 4, 5)```2. 访问数组元素要访问数组中的元素,可以使用索引号。

在VBA中,数组索引从1开始。

例如,要访问上面示例中myArray的第三个元素,可以使用以下代码:```vbaDim value As Integervalue = myArray(3)```3. 更改数组大小在VBA中,可以使用ReDim语句更改数组的大小。

以下示例代码将myArray 的大小更改为10个元素:```vbaReDim Preserve myArray(1 To 10)```请注意,使用`Preserve`关键字可以保留原始数组中的数据。

4. 二维数组VBA也支持二维数组,即可以按行和列组织的数据结构。

以下示例展示了如何声明和初始化二维数组:```vbaDim myArray(1 To 3, 1 To 3) As Integer```你可以使用两个索引号来访问二维数组中的元素。

例如:```vbaDim value As Integervalue = myArray(2, 3)5. 遍历数组遍历数组是一个常见的操作,可以使用For循环来实现。

【跟我学ExcelVBA】第十三课:数组!

【跟我学ExcelVBA】第十三课:数组!

【跟我学ExcelVBA】第十三课:数组!什么是数组?输入数组需要按下Ctrl Shift Enter这三键么?每一段代码我们几乎都会运用到变量,而变量的运算事实上就是内存的运算。

如果我们一段代码会长期访问单元格或者其他对象时,会使运行速度大大降低,这样的话,我们就要想办法将这些运算放到内存中去。

所以,数组在这个时候出现了!那么,什么是数组?VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组(即数组嵌套)。

另外,VBA数组是以怎样的方式存在的呢?VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。

如下面表示数组的方式:1、常量数组:Array(1,2),Array('a','b','c')2、静态数组:arr(4) 有5个位置,起始编号为0。

arr(1)表示第二个数;arr(1 to 4) 有4个位置,起始编号为1。

arr(1)表示第一个数;arr(1 to 4,1 to 10) 二维数组,表示4行10列;arr(1 to 4),1 to 10,1 to 5) 三维数组,我们可以假想为一共有5个工作表,每个工作表中使用的区域都是4行10列;三维数组在实际运用中比较少,如果实在要用,我们可以使用一维数组嵌套二维数组的办法,这个技巧会在后续的实例中进行展示。

3、动态数组:arr(),暂时不知道有多少行列,在使用时需要重新指定。

可以用单元格区域赋值方式,也可以动态扩容。

数组的写入和读出,我们来看一段代码:1、循环式代码解析:此处,我们是以循环的方式写入数组的值,同样,我们可以使用循环的方式读出数组的值。

读出或者写入的方式,就是根据数组的行列序号,我们称为下标。

2、数组的动态定义代码解析:Redim:重新指定数组的大小,这种方式必须先定义一个不知道大小的数组。

3、由常量数组函数导入4、重点:由单元格区域导入和导出这是我们学习的重点,在Excel里面学习数组,我们最常见的就是和单元格打交道,如何将单元格内容放入数组或者如何将数组的计算结果放回到单元格中就尤为重要!!下面,我们介绍几个数组常用的属性和方法:1、UBound(数组):数组的最大行下标----常用;2、UBound(数组,2):数组的最大列下标-常用;3、三维数组使用的机率不多,大家知道怎样表示最大下标就是了;4、与UBound相反的就是LBound,这里就不多解释了。

[学习笔记-VBA-018]特殊的数组——字典

[学习笔记-VBA-018]特殊的数组——字典

[学习笔记-VBA-018]特殊的数组——字典字典(Dictionary)对象相当于一种联合数组,由具有唯一性的关键字(Key)和它的项(Item)联合组成。

本章主要完成对字典的6个方法,4个属性的基础学习,并简单理解两个典例。

01字典の方法字典有6个方法,分别为Add、Keys、Exists、Items、Remove、RemoveAll1. Add方法Object.Add(key,item)举个栗子dic.Add'a', '李白'dic.Add'b', 9'd.Add'b', 7'add重复的key会报错又举个栗子dic('b')= 7'或dic.Item('b')= 7,会直接覆盖,不会报错'通常使用String文本字符串作为字典key2. Keys方法Object.keys( )返回一个数组,其中包括dictionary对象中全部现有的关键词。

举个栗子Dim d, kSet d = CreateObject('Scripting.Dictionary')d.Add 'a', 'Athens'd.Add 'b', 'Belgrade'd.Add 'c', 'Cairo'k=d.Keys[A1].Resize(d.Count,1)=Application.Transpose(k)'把字典中所有的关键字赋给以B1单元格开始的单元格区域中.其中:1)dic.count为字典中关键词key的数量2)resize作为range对象的属性,用于调整指定区域的大小,[A1].Resize(dic.count,1)即把A1调整为A1:A3的区域3)k=dic.keys,一维数组,水平排列dic.Key('a')= 'e''替换key3. Exists方法Object.Exists(key)Cells(2, 1) =dic.Exists('b')dic.Add'b', 7Cells(2, 2) =dic.Exists('b')举个栗子Dim dSet d = CreateObject('Scripting.Dictionary')d.Add 'a', 'Athens'd.Add 'b', 'Belgrade'd.Add 'c', 'Cairo'If d.Exists('c') Thenmsgbox ('指定的关键字已经存在')Elsemsgbox( '指定的关键字不存在')End If4. Items方法Object.Items( )i=dic.Items[B1].Resize(dic.count,1)=Application.Transpose(i)5. Remove方法Object.Remove( )dic.Remove('b')'清除字典中“b”关键词对应的项6. RemoveAll方法Object.Removeall清空字典02字典の属性字典有 4 个属性:Count 、Key 、Item 、CompareMode.1. Count属性object.Countn = dic.Count2. Key属性object.Key(key) = newkey3. Item属性Object.Item(key)[ = newitem]用于写入或读取字典中指定键的值,如果指定的键不存在,则会新增。

VBA 中的数组操作技巧与案例分析

VBA 中的数组操作技巧与案例分析

VBA 中的数组操作技巧与案例分析在VBA编程语言中,数组操作是一项非常重要的技巧。

通过灵活的数组操作,我们可以简化代码、加快执行速度,并且能够处理更复杂的数据结构。

本文将介绍VBA中一些常用的数组操作技巧,并通过案例分析来说明它们的应用。

首先,让我们来了解一下什么是数组。

数组是一组按序排列的元素的集合,在VBA中可以用来存储和处理大量数据。

数组中的每个元素可以是任何数据类型,例如数字、字符串或对象。

一、数组的基本操作1. 声明数组在VBA中,我们可以使用Dim语句来声明一个数组。

例如,声明一个名为arrNumbers的整数数组可以使用以下代码:Dim arrNumbers() As Integer2. 初始化数组在声明数组后,我们需要初始化它们,即为数组分配内存空间并赋初值。

以下是几种初始化数组的方法:a) 使用Array函数可以使用Array函数来初始化一个一维数组。

例如,以下代码将初始化一个名为arrMonths的一维字符串数组,并给其中的元素赋值:arrMonths = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")b) 直接赋值我们也可以直接为数组元素赋值。

例如,以下代码将初始化一个名为arrNumbers的一维整数数组,并给其中的元素赋值:arrNumbers = [1, 2, 3, 4, 5]3. 访问数组元素可以使用索引来访问数组元素。

在VBA中,数组的索引是从0开始的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

**************************************************************************************************** * VBA数组教程 * * --------excel精英培训网:兰色幻想 *****************************************************************************************************从一个实例开始Sub v4() '运行时间0.01秒Dim tt = TimerFor x = 1 To 100000m = m + 1000 '真接调用内存中的值Next xMsgBox Timer - tEnd SubSub v5() '运行时间0.5秒Dim tt = TimerFor x = 1 To 100000m = m + Cells(1, 1) '调用单元格中的值Next xMsgBox Timer - tEnd Sub运行的结果是直接调用内存中的值比调用单元格的值快了50倍,为什么会这样呢?我们需要了解一下VBA的运算原理********** VBA的运算原理 *********VBA中的运算最终是在内存中进行的,如果数据已经在内存中,则直接进行运算,但如果数据是储存在第三方对象(如单元格里,控件里)里,则还需要先把数据从第三方对象里调入到内存中,然后再在内存中对数据进行运算。

如果把v5的程序进行稍微改动,运行时间会大大缩短。

Sub v5_2() '运行时间0.5秒Dim x, tt = Timerx = Cells(1, 1) '把单元格的值先交给变量For x = 1 To 100000m = m + xNext xMsgBox Timer - tEnd Sub如果VBA多次调用同一样单元格,我们可以先把这个单元格放在一个变量中,如果是多行多列的单元格区域呢?我们同样可以把把这个区域的值装入一个VBA变量。

Sub v6()x = Range("a1:10000")End Sub这个VBA变量装入大于1个的数据时,就构成了VBA内存数组。

那什么是VBA数组呢?1、什么是VBA数组呢?VBA数组就是储存一组数据的数据空间。

数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组。

2 VBA数组的分类A.按维数划分1维数组Sub t1()Dim arr(1 To 10)For x = 1 To 10arr(x) = xNext xStopEnd Sub2维数组Sub t2()Dim arr(1 To 10, 1 To 2)For x = 1 To 10For y = 1 To 2arr(x, y) = x * yNext yNext xStopEnd Sub3维数组Sub t3()Dim arr(1 To 10, 1 To 2, 1 To 3)For x = 1 To 10For y = 1 To 2For z = 1 To 3arr(x, y, z) = x * y + zNext zNext yNext xStopEnd SubB 按储存类型划分常量数组Sub t4()arr = Array(1, 2, 3, 4, 5)arr1 = Array(Array(1, 2), Array(10, 20), Array(100, 200)) '数组的中储存数组 arr2 = [{"a",1;"b",2;"c",3}] '调用工作表内存数组构成VBA二维数组StopEnd Sub静态数组:固定大小的数组静态数组声明方法dim/public/private 数组名称( 第一维数组上标 to 第一维数组下标,第二维上标to 第二维下标......)Sub t5()Dim arr1(10) '声明一个上标是0,下标是10的数组Dim arr2(1 To 10) '声明一个上标是1,下标是10的数组Dim arr3(1 To 10, 1 To 2) '声明一个10行2列的二维数组End Sub动态数组:大小不固定的数组动态数组的声明方法:和静态数组不同的时,动态数组需要先用Dim声明,数组大小得出结果后还需要再用Redim进行二次声明。

Dim 数组名称()Redim 数组名称( 第一维数组上标 to 第一维数组下标,第二维上标 to 第二维下标...) 例1:Sub darr()Dim arr() '声明一个动态的arr数组(不知道它能盛多少数据)Dim kk = Application.WorksheetFunction.CountIf(Range("a2:a60"), ">10") '计算大于10的个数 ReDim arr(1 To k) '再次声明arr的大小,正好盛下k数量的值For x = 2 To 6If Cells(x, 1) > 10 Thenm = m + 1arr(m) = Cells(x, 1) '通过循环把大于10的数字装入数组End IfNext xMsgBox arr(2)End Sub如果数组需要随一个变量不断的扩充,数组就需要多次声明,每扩充一次就声明一次:Redim Preserve (1 to k)如果数组是多维的,只能动态声明第末维的,如果需要把让第一维不断扩充,还需要先转置,有点麻烦,这里就不再详述,遇到这种情况,我们可以声明一个足够大的静态数组来取代动态数组,运行速度较前者快。

1 单元格区域存入VBA数组Sub test()Dim arr '声明一个变量用来盛放单元格数据Dim x As Integerarr = Range("a2:d5") '把单元格数据搬入到arr里,它有4列4行For x = 1 To 4 '通过循环在arr数组中循环arr(x, 4) = arr(x, 3) * arr(x, 2) '数组的第4列(金额)=第3列*第2例Next xRange("a2:d5") = arr '把数组放回到单元格中End Sub2 一维VBA数组放入单元格区域中Sub test1()Dim arr(1 To 5) '声明一维数组For x = 1 To 5arr(x) = x * 2 '通过循环给每个位置赋值Next xRange("A1:E1") = arr '把数组导入到excel中的a1:e1单元格中Range("A1:A5") = Application.Transpose(arr) '如果是放在一列中,就需要对数组进行转置后再存放End Sub1.计算VBA数组的大小Sub b1()Dim arr(-3 To 4)MsgBox UBound(arr) '下标MsgBox LBound(arr) '上标For x = -3 To 4arr(x) = x * 2Next xMsgBox Application.Count(arr) '含有数据元素的个数End SubSub b2()Dim arrarr = Sheets(1).UsedRange 'Usedrange的行数和列数是未知的MsgBox UBound(arr, 1) '可以计算这个区域有多少行MsgBox UBound(arr, 2) '可以计算出这个区域有多少列End Sub2.VBA数组的筛选Sub b3()arr = Array("ABC", "A", "D", "CA", "ER")arr1 = VBA.Filter(arr, "A", True) '筛选所有含A的数值组成一个新数组arr2 = VBA.Filter(arr, "A", False) '筛选所有不含A的数值组成一个新数组StopEnd Sub3 VBA数组的拆分与合并Sub t2()arr2 = Range("A1:B4") '把单元格区域A1:B4的值装入数组arr2arr3 = Application.Index(arr2, , 2) '把数组第2列拆分出来装入新数组arr3中, Stop新数组为二维数组End Sub如果想按行拆分,除了api函数外是没有其他办法的如果想把两个数组进行组合成一个数组,只有一个办法,就是通过循环4、VBA数组的最值Sub t3()arr = Array(1, 35, 4, 13)MsgBox Application.Max(arr) '最大值MsgBox Application.Min(arr) '最小值End SubSub t4()arr = Array(1, 35, 4, 13)MsgBox rge(arr, 2) '第2大值MsgBox Application.Small(arr, 2) '第2小值End Sub5 数组的统计与求和Sub t5()arr = Array(1, 35, 4, 13)MsgBox Application.Sum(arr) '对数组进行求和End SubSub t6()arr = Array(1, 35, "a", 4, 13, "b")MsgBox Application.Count(arr) '返回数字的个数4MsgBox Application.CountA(arr) '返回数组文本和数字的总个数End Sub6.数组的查询Sub t7()arr = Array(1, 35, 4, 13)MsgBox Application.Match(4, arr, 0) '查询数值4在数组Arr中的位置End Sub7 数组的转置Sub t8()arr = Array(1, 35, "a", 4, 13, "b")arr1 = Application.Transpose(arr)StopEnd SubSub t9()arr = Range("a1:a5")arr1 = Application.Transpose(arr)StopEnd Sub8.字符串与VBA数组Sub t1()Dim arr, myst As Stringmyst = "A-REW-E-RWC-2-RWC"arr = Split(myst, "-") '按-分隔成一组数装入数组中k = Join(arr, ",") '再用","把数组的每个值连接成一个字符串,结果为"A,REW, Stop E,RWC,2,RWC"End Sub9.巧妙利用数组的标因为数组的标是唯一的,所以我们就利用这个特点去除重复的数值Sub r1()Dim arr, arr2(1 To 13, 1 To 1)arr = Range("a1:a13")For x = 1 To UBound(arr)arr2(arr(x, 1), 1) = arr(x, 1)Next xRange("b1").Resize(13) = arr2End Sub10.重新初始化数组Sub r2()Dim arr(1 To 10)For x = 1 To 10arr(x) = xNext xStopErase arr '如果arr是动态数组,下次使用前还需要用redim设置数组的大小 StopFor x = 1 To 10arr(x) = xNext xStopEnd Sub。

相关文档
最新文档