文档库 最新最全的文档下载
当前位置:文档库 › Excel_VBA数组入门教程集合

Excel_VBA数组入门教程集合

Excel_VBA数组入门教程集合
Excel_VBA数组入门教程集合

Excel VBA数组入门教程集合

1. 前言:不要把VBA数组想的太神秘,它其实就是一组数字而已。

2. 数组的维数:

Sub 数组示例()

Dim x As Long, y As Long

Dim arr(1 To 10, 1 To 3) '创建一个可以容下10行3列的数组空间

For x = 1 To 4

For y = 1 To 3

arr(x, y) = Cells(x, y) '通过循环把单元格区域a1:c4的数据装进数组中

Next y

Next x

MsgBox arr(4, 3) '根据提供的行数和列数显示数组

arr(1, 2) = "我改一下试试" '你可以随时修改数组内指定位置的数据

MsgBox arr(1, 2)

End Sub

总结:二维是由行和列表示的数组,如ARR(3,2)表示数组中第3排第2列的元素。而一维数组只是由一个元素决定,如ARR(4)表示数组中第4个元素

3. 把单元格数据搬入内存:

一、声明:

Dim arr as Variant '声明一个变量,不能声明其他数据类型

Dim arr(1 to 10, 1 to 2) , 这种声明也是错误的,固定大小的VBA数组是不能一次性装入单元格数据

或:dim arr()这种声明方式是声明一个动态数组,也可以装入单元格区域,构成一个VBA数组。

二、装入

arr =range("a9:c100") '装入很简单,变量 = 单元格区域

三、读出

装入数组后的单元格数值,可以按数组名称(行数,列数) 直接读取该位置的值,如下面的代码。

Msgbox arr(3,2) '就可以取出搬过去的而构成的数组第3行第2列的内容

四、示例

Sub s3()

Dim arr() '声明一个动态数组(动态指不固定大小)

Dim arr1 '声明一个Variant类型的变量

arr = Range("a1:c7") '把单元格区域A1:C7的值装入数组arr

arr1 = Range("a1:c7") '把单元格区域A1:C7的值装入数组arr1

MsgBox arr(1, 1) '读取arr数组中第1行第1列的数值

MsgBox arr1(2, 3) '读取arr1数组的第2行第3列的数值

End Sub

4. 把单元格数据搬入内存:

Sub test()

Dim arr '声明一个变量用来盛放单元格数据

Dim x As Integer

arr = 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 x

Range("a2:d5") = arr '把数组放回到单元格中

End Sub

Sub test1()

Dim arr(1 To 5) '声明一维数组

For x = 1 To 5

arr(x) = x * 2 '通过循环给每个位置赋值

Next x

Range("A1:E1") = arr '把数组导入到excel中的a1:e1单元格中

Range("A1:A5") = Application.Transpose(arr) '如果是放在一列中,就需要对数组进行转置后再存放

End Sub

5. 动态数组的声明:

Sub darr()

Dim arr() '声明一个动态的arr数组(不知道它能盛多少数据)

Dim k

k = Application.WorksheetFunction.CountIf(Range("a2:a6"), ">10") '计算大于10的个数

ReDim arr(1 To k) '再次声明arr的大小,正好盛下k数量的值

For x = 2 To 6

If Cells(x, 1) > 10 Then

m = m + 1

arr(m) = Cells(x, 1) '通过循环把大于10的数字装入数组

End If

Next x

MsgBox arr(2)

End Sub

6. 动态数组的声明:

arr(-19 to 8) 这个数组的编号就是从-19开始的.那么它的最小编号就是-19,最大编号

是8, 如果用语句返回就是:

Sub t1()

Dim arr(-19 To 8)

MsgBox UBound(arr) '返回最大编号,结果为8

MsgBox LBound(arr) '返回最小编号,结果为-19

End Sub

如果是有行列组成的二维数组呢?二维数组返回行的下标和列的下标见下例

Sub t2()

Dim arr(-19 To 8, 2 To 5)

MsgBox UBound(arr) '返回第1维(行的)最大编号,结果为8

MsgBox LBound(arr) '返回第1维(行的)小编号,结果为-19

MsgBox UBound(arr, 2) '返回第2维(列的)最大编号,结果为5

MsgBox LBound(arr, 2) '返回第2维(列的)最小编号,结果为2

End Sub

Sub t3()

Dim arr

arr = Sheets(1).UsedRange 'Usedrange的行数和列数是未知的

MsgBox UBound(arr, 1) '可以计算这个区域有多少行

MsgBox UBound(arr, 2) '可以计算出这个区域有多少列

End Sub

7. 使用Array函数创建常量数组:

使用Array函数创建数组

1维常量数组:Array("A",1,"C")

2维常量数组: Array(Array("a", 10), Array("b", 20), Array("c", 30)) 也可以调用excel工作表内存数组:

1维数量: [{"A",1,"C"}]

2维数量: [{"a",10;"b",20;"c",30}]

内存常量数组有什么作用呢?

1、简化赋值

比如:我需要给数组arr分别赋值10 ,20,30,40 ,一般就需要分别赋值,即: arr(1)=10

arr(2)=20

arr(3)=30

arr(4)=40

而使用常量数量,只一句话:

arr=array(10,20,30,40)

2、调用工作表函数时使用:

Sub mylook()

Dim arr

arr = [{"a",10;"b",20;"c",30}]

MsgBox Application.VLookup("b", arr, 2, 0) '调用vlookup时可以作为第二个参数

End Sub

8. 数组的合并和字符串拆分(Join & Split):

多个字符的合并和字符串按规律的拆分是经常遇到的,如:A-REW-E-RWC-2-RWC 按分隔符-拆分成6个字符放在一个数组中;有一组数array(23,45,7,1,76)想用分隔符-连接成一个字符串

上面两种情况VBA提供了一对函数,即:

split(字符串,"分隔符")拆分字符串

join(数组,"分隔符") 用分隔连接数组的每个元成一个字符串

Sub t1()

Dim arr, myst As String

myst = "A-REW-E-RWC-2-RWC"

arr = Split(myst, "-") '按-分隔成一组数装入数组中

'MsgBox arr(0) '显示数组的第一个数(分隔后的数组最小下标为0,不是1),显示结果为A

MsgBox Join(arr, ",") '再用","把数组的每个值连接成一个字符串,结果为"A,REW,E,RWC,2,RWC"

End Sub

值得注意的是:split和join只能对一维数组进行操作,如果是单元格或二维数组怎么办?只有一条途径,想办法转换为一维数组:

Sub t2()

Dim ARR

ARR = Application.Transpose(Range("a1:a3")) ‘用转置的方法,把单元格一列数据转换成一维数组

MsgBox Join(ARR, "-")

End Sub

9. Filter函数实现数组筛选:

数组的筛选就是根据一定的条件,从数组中筛选符合条件的值,组成一个新的

数组,实现数组筛选的VBA函数是:

Filter函数

用法:Filter(数组, 筛选的字符, 是否包含)

Sub DD()

arr = Array("ABC", "A", "D", "CA", "ER")

arr1 = VBA.Filter(arr, "A", True) '筛选所有含A的数值组成一个新数组

arr2 = VBA.Filter(arr, "A", False) '筛选所有不含A的数值组成一个新数组

MsgBox Join(arr2, ",") '查看筛选的结果

End Sub

遗憾的是函数只能进行模糊筛选,不能精确匹配。

10. VBA数组入门教程之10(大结局):他山之石):

他山之石,可以攻玉,VBA中除可以利用的VBA函数外,还可以调用众多的Excel 工作表函数对数组进行分解、查询和分析等,调用工作表函数可以省去循环判断的麻烦,进而提高运行效率。

一、数组的最值

1、Max和Min

工作表函数Max和Min是求最大值和最小值的函数,同样在VBA中也可以求数组的最大值和最小值。如:

Sub t()

arr = Array(1, 35, 4, 13)

MsgBox Application.Max(arr) '最大值

MsgBox Application.Min(arr) '最小值

End Sub

2、large和small

工作表函数large和small 是返回一组数的第N大和第N小,对VBA数组同样适用,如:

Sub t1()

arr = Array(1, 35, 4, 13)

MsgBox https://www.wendangku.net/doc/5f15025738.html,rge(arr, 2) '第2大值

MsgBox Application.Small(arr, 2) '第2小值

End Sub

二、数组的统计与求和

1、Sum

Sum函数可以在工作表中求,同样也可以对VBA数组求和,如:

Sub t2()

arr = Array(1, 35, 4, 13)

MsgBox Application.Sum(arr) '对数组进行求和

2、Count和Counta

Count和Counta可以统计数组中数字的个数和数字+文本的个数。

Sub t3()

arr = Array(1, 35, "a", 4, 13, "b")

MsgBox Application.Count(arr) '返回数字的个数4

MsgBox Application.CountA(arr) ‘返回数组文本和数字的总个数

End Sub

三、数组的查询和拆分

1、Match查询数组

Match函数可以查询一个指定值在一组数中的位置,它也可以用于VBA数组的查询。如

Sub t4()

arr = Array(1, 35, 4, 13)

MsgBox Application.Match(4, arr, 0) '查询数值4在数组Arr中的位置

End Sub

2、Index拆分数组

数组的拆分在VBA中是一个难题,如果是按行拆分数组,除了用循环外也只能借用API函数完成了。幸好我们可以借用工作表函数index达到按列拆分数组,即多列构成的数组,你可以任意拆分出一列构成新的数组。方法是:Application.Index(数组, , 列数) ,例:

Sub t2()

arr2 = Range("A1:B4") ‘把单元格区域A1:B4的值装入数组arr2

arr3 = Application.Index(arr2, , 2) '把数组第2列拆分出来装入新数组arr3中,新数组为二维数组

MsgBox arr3(2, 1) '取出新数组第2行的值

End Sub

四、数组维数的转换

Transpose转置数组在工作表中可以把行列转换。在VBA中同样也可以做到转换的效果。

1、一维转二维。

Sub t9()

arr = Array(1, 35, "a", 4, 13, "b")

arr1 = Application.Transpose(arr)

MsgBox arr1(2, 1) ‘转换后的数组是1列多行的二维数组

End Sub

2、二维数组转一维。

arr2 = Range("A1:B4")

arr3 = Application.transpose(Application.Index(arr2, , 2)) '取得arr2第2列数据并转置成1维数组

MsgBox arr3(2,)

End Sub

注:在转置时只有1列N行的数组才能直接转置成一维数组

思考题:我要把a1:c1中的内容用“-”连接起来,下面代码中为什么用了两次transpose

Sub t10()

arr = Range("A1:C1")

MsgBox Join(Application.Transpose(Application.Transpose(arr)), "-")

End Sub

编后话:用于VBA数组的工作表函数我只是列出了一部分,其实象vlookup,Lookup等等函数也可以用于处理VBA数组,大家有空了就去尝试下吧。

Java集合类知识点总结

Java集合类 Java集合类 (1) 1.Map (3) 1.1.HashMap (3) 1.1.1.底层实现 (3) 1.1.2.特点 (3) 1.1.3.源码分析 (4) 1.1.4.多线程可能出现的问题 (5) 1.2.ConcurrentHashMap (6) 1.2.1.底层实现 (6) 1.2.2.源码分析 (7) 1.3.HashTable (9) 1.3.1.HashTable是线程安全的,因为所有方法上都加了synchronized关键 字。9 1.3.2.HashTable的key和value都不可以为null。 (9) 1.3.3.扩容时,capacity=2*capacity+1 (9) 1.3.4.数组默认大小为11 (9) 1.3.5.查找下标时,没有使用hash&length-1,而是直接进行计算的 (9) 1.4.TreeMap (9) 1.4.1.底层实现为红黑树 (9) 1.4. 2.TreeMap是一个有序的key-value集合,基于红黑树实现。该映射根据 其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序 (10) 1.4.3.接口实现 (10) 1.4.4.Entry (11) 1.5.LinkedHashMap (11) 1.5.1.底层是数组+链表+红黑树+双向链表 (11) 1.5.2.维护链表顺序和访问顺序 (11) 1.5.3.LinkedHashMap 可以通过构造参数 accessOrder 来指定双向链表是否在 元素被访问后改变其在双向链表中的位置。 (11) 1.5.4.当accessOrder为true时,get方法和put方法都会调用recordAccess 方法使得最近使用的Entry移到双向链表的末尾;当accessOrder为默认值 false时,recordAccess方法什么也不会做。 (11) 1.5.5.LRU实现 (11) 2.Collection (11) 2.1.List (12) 2.1.1.ArrayList (12) 2.1.2.LinkedList (13) 2.1.3.CopyOnWriteArrayList (13) 2.2.Set (14) 2.2.1.HashSet (14)

Excel+vba入门教程

VBA入门系列讲座 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动 化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开 发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是”寄生于”VB应用程序的版本.VBA和VB的区别包括如下 几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel 等)自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序 是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的”父”应用程 序,例如excel. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解 了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access OUTLOOK 中用VBA创建解决方案的大部分知识. FOXPRO PROWERPOINT VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. VBA可以称作excel的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 1.2 Excel环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析.

Excel基础入门教程精编版

Excel基础入门教程 新建文件夹 Excel是一个电子表格软件,属于微软的Office系列,国产的是金山WPS,电子表格处理主要包括,数据录入、处理、排序、打印等等各个方面,我们先来做好准备工作; 1、打开我的文档 1)在桌面上双击“我的文档”图标,进入文件夹; 2)在空白处单击鼠标右键,在出来的菜单中选择“新建”命令; 3)在出来的下一级菜单中,选择上边的“文件夹”命令;

4)这时在工作区出来一个新的文件夹,名称那儿是蓝色的,按退格键删除里头的“新建文件夹”, 然后输入自己姓名的拼音,输好后再用鼠标点一下图标,这样一个自己名字的文件夹就建好了; 这儿也可以输汉字,点击输入法图标,选择一个汉字输入法,输入自己的名字就可以; 5)在图标上双击,进入文件夹看一下,由于是新建的文件夹,里头还是空的,后面我们会逐渐保存上自己的文件; 本节学习了新建文件夹的一般方法,如果你成功地完成了练习,请继续学习; Excel基础入门教程 认识窗口 Excel是一个电子表格处理软件,电子表格由一张张表格组成,首先我们来学习一下如何输入和保存电子表格,下面我们认识一下它的窗口; 1、启动Excel 1)点击“开始-所有程序-Microsoft-Microsoft Office Excel 2003”;

2、Excel窗口 1)出现一个满是格子的空白窗口,这就是一张电子表格了,第一个格子看着边框要粗一些,处于选中状态; 2)最上面是标题栏,默认的是文件名Book1,保存的时候起一个有意义的,Excel的文件称作“工作薄”; 3)再下面是菜单栏,里面是各个操作命令,记住常用的“文件”和“格式”菜单;

java集合类总结

1.本讲内容:集合collection (数组和集合90%功能相似,但是最大的区别是,数组在初始化的时候必须确定大小,而集合不用,而且集合是一堆的类,使用起来非常方便。) 讲集合collection之前,我们先分清三个概念: 1colection 集合,可用来存储任何对象的一种数据结构(容器)。 2Collection 集合接口,指的是,是Set、List 和Queue 接口的超类接口 3Collections 集合工具类,指的是类。 SCJP考试要求了解的接口有:Collection , Set , SortedSet , List , Map , SortedMap , Queue , NavigableSet , NavigableMap, 还有一个Iterator 接口也是必须了解的。 SCJP考试要求了解的类有:HashMap , Hashtable ,TreeMap , LinkedHashMap , HashSet , LinkedHashSet ,TreeSet , ArrayList , Vector , LinkedList , PriorityQueuee , Collections , Arrays 下面给出一个集合之间的关系图: 上图中加粗线的ArrayList 和HashMap 是我们重点讲解的对象。下面这张图看起来层级结构更清晰些。 我们这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 4List 关注事物的索引列表 5Set 关注事物的唯一性 6Queue 关注事物被处理时的顺序 7Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是Set 、List 和Queue 接口的父接口,提供了多数集合常用的方法声明,包括add()、remove()、contains() 、size() 、iterator() 等。 add(E e) 将指定对象添加到集合中 remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase size() 返回集合中存放的对象的个数。返回值为int clear() 移除该集合中的所有对象,清空该集合。 iterator() 返回一个包含所有对象的iterator对象,用来循环遍历 toArray() 返回一个包含所有对象的数组,类型是Object toArray(T[] t) 返回一个包含所有对象的指定类型的数组 我们在这里只举一个把集合转成数组的例子,因为Collection本身是个接口所以,我们用它的实现类ArrayList做这个例子:例子1: package edu.xjfu;

Java中的集合类

Java中的集合类 (Collection framework)我们在前面学习过java数组,java数组的程度是固定的,在同一个数组中只能存放相同的类型数据。数组可以存放基本类型的数据,也可以存入对象引用的数据。 在创建数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能改变,在许多应用的场合,一组数据的数目不是固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。 为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了java集合类,所有java集合类都位于java.util包中,与java数组不同,java集合类不能存放基本数据类型数据,而只能存放对象的引用。 Java集合类分为三种 Set(集合):集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的对象按特定方式排序。--无序,不能重复 List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中的索引位置检索对象,List和数组有些相似。--有序,可以重复 Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。 Java的主要集合类的框架图 Collection和Iterator接口 在Collection接口中声明了适用于java集合(只包括Set和List)通用方法。 Collection接口的方法 方法描述

boolean add(Object o) 向集合中加入一个对象的引用 void clear( ) 删除集合中所有对象,即不再对持有对象的引用boolean contains(Object o) 判断在集合中是否含有特定对象的引用 boolean isEmpty() 判断集合是否为空 Iterator iterator( ) 返回一个Iterator对象,可用它来遍历集合中的元素boolean remove(Object o) 从集合中删除一个对象的引用 int size( ) 返回集合中元素的数目 Object [ ] toArray() 返回一个数组,该数组包含集合中的所有元素 Set接口和List即可都继承了Collection接口,而Map接口没有继承Collection接口,因此可以对Set对象和List对象调用以上方法,但是不能对Map对象调用以上方法。Collection接口的iterator()和toArray()方法多用于获得集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。 Iterator隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一接口。Iterator接口中声明了如下方法: ●hasNext():判断集合中的元素是否遍历完毕,如果没有,就返回true。 ●next():返回下一个元素 ●remove():从集合中删除上一个由next()方法返回的元素。 注意:如果集合中的元素没有排序,Iterator遍历集合中元素的顺序是任意的,并不一定与像集合中加入的元素的顺序一致。 Set(集) Set是最简单的一种集合,集合中的对象不按特定方式排序,并没有重复对象。Set接口主要有两个实现类:HashSet类还有一个子类LinkedHashSet类,它不仅实现了哈希算法,而且实现了链表数据结构,链表数据结构能提高插入核算出元素的性能。TreeSet类实现了SortedSet接口中,具有排序功能。 List(列表) List的主要特征使其元素已先行方式存储,集合中允许存放重复对象。List接口主要的实现类包括: ●ArrayList—ArrayList代表长度可变的数组。允许对元素进行快速的随机访问,但是向 ArrayList中插入与删除元素的速度较慢。 ●LinkedList—在实现中采用链表数据结构。对顺序访问进行了优化,向List中插入和 删除元素的速度较快,随机访问速度则相对较慢,随机访问是指检索位于特定索引位置元素。 Map(映射) Map(映射)是一种吧键对和值对象进行映射的集合。它的每一个元素都包含一对键对象和值对象,而之对象仍可以是Map类型。以此类推,这样就形成了多级映射。向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合上检索元素只要给出键对象,就会返回值对象。 实例1 CollectionAll.java

EXCEL编程入门教程

EXCEL编程初学者教程 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)

C语言习题集合(数组) (1)

第四章数组 4.1 选择题 1. 以下关于数组的描述正确的是( )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是( )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是( )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是( )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。 A. 3 B. 6 C. 10 D.

20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ } A. a+(i++) B. &a[i+1] C. a+i D. &a[++i] 9. 执行下面的程序段后,变量k中的值为( )。 int k=3, s[2]; s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 10. 以下程序的输出结果是( ) main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A. 258 B. 741 C. 852 D. 369 11. 以下程序运行后,输出结果是( )。

Java中集合类用法总结

帮助 | 留言交? | 登录 首页我的图书馆主题阅读精彩目录精品文苑Tags 会员浏览好书推荐 以文找文 如何对文章标记,添加批注? Java 中集合?用法总结(转载) wade0564 收录于2010-07-08 阅读数:查看 收藏数:7 公众公开 原文来源 tags : java 集合类 欢迎浏览 wade0564 个人图书馆中收藏的文章,想收藏这篇好文章吗,赶快 吧,1分钟拥有自己的个人图书馆! 我也要收藏 举报 Java 中集合?用法总结 收藏 Collection ├List │├LinkedList │├ArrayList (异步,线程不安全,空间用完时自动增长原容量一半)│└Vector (同 步,线程安全,空间用完时自动增长原容量一倍)│ └Stack └Set ├HashSet └TreeSet Map ├Hashtable ├HashMap ├WeakHashMap └TreeMap Map 接口: | + -- WeakHashMap: 以弱键 实现的基于哈希表的 Map 。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条 | 目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为 可终止的,被终 | 止,然后被回收。丢弃某个键时, 其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。此实现 | 不是同步的。 | + -- TreeMap:该映射根据其键的自然顺序进行 排序,或?根据创建映射时提供的 Comparator 进行 排序,具体取决于使用的 | 构造方法。此实现不是同步的。 | + -- HashMap:基于哈希表的 Map 接?的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了 | 非同步和允许 使用 null 之外,HashMap 类与 Hashtable ?致相同。)此类不保证映射的顺序,特别是它不保证该顺 | 序恒久不变。此实现不是同步的。 | +-- SortedMap: 进一步提供关于键的总体排序 的 Map 。该映射是根据其键的自然顺序进 行排序的,或?根据通常在创建有 序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet 、keySet 和 values 方法返回 )进行迭代时,此顺序就会反映 出来。要采用此排序方式,还需要提供一些其他操作(此接?是 SortedSet 的对应映 射)。 Collection 接口: | 热点推荐 中国经典汤品——广东汤常用多音字汇总 如果你失恋。。。这些话...影响世界的100个管理定律汽车发动机?作过程和原理分析温家宝总理答中外记?问女人味,有多少男人可以读懂?珍稀的白头叶猴(组图)三鹿门事件之——中国,...国家公务员职务与级别当代古筝四美 付娜《渔...生活?秘方 真的很实用...哲理?品:守护梦想聚会时可以玩的?游戏依赖型人格障碍的表现和治疗经典妙语,十分精彩江边施救[贴图]李一男2003年在港湾...电脑速度慢的解决方法 ...重装系统后必须做的10件?事

C语言习题集合(数组)

数组 1 选择题 1. 以下关于数组的描述正确的是( )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是( )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是( )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是( )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中 所占字节数是( )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( ) A.a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c]

JAVA中的集合类

为什么要使用集合类 当你事先不知道要存放数据的个数,或者你需要一种比数组下标存取机制更灵活的方法时,你就需要用到集合类。 理解集合类 集合类存放于java.util包中。 集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。 集合类型主要有3种:set(集)、list(列表)和map(映射)。 (1)集 集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。 对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。 集也有多种变体,可以实现排序等功能,如TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列中。它实现的是SortedSet接口,也就是加入了对象比较的方法。通过对集中的对象迭代,我们可以得到一个升序的对象集合。(2)列表 列表的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。 列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。关于实现列表的集合类,是我们日常工作中经常用到的,将在后边的

笔记详细介绍。 (3)映射 映射与集或列表有明显区别,映射中每个项都是成对的。映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的存储位置,检索对象时必须提供相应的关键字,就像在字典中查单词一样。关键字应该是唯一的。 关键字本身并不能决定对象的存储位置,它需要对过一种散列(hashing)技术来处理,产生一个被称作散列码(hash code)的整数值,散列码通常用作一个偏置量,该偏置量是相对于分配给映射的内存区域起始位置的,由此确定关键字/对象对的存储位置。理想情况下,散列处理应该产生给定范围内均匀分布的值,而且每个关键字应得到不同的散列码。 集合类简介 java.util中共有13个类可用于管理集合对象,它们支持集、列表或映射等集合,以下是这些类的简单介绍 集: HashSet:使用HashMap的一个集的实现。虽然集定义成无序,但必须存在某种方法能相当高效地找到一个对象。使用一个HashMap对象实现集的存储和检索操作是在固定时间内实现的. TreeSet:在集中以升序对对象排序的集的实现。这意味着从一个TreeSet对象获得第一个迭代器将按升序提供对象。TreeSet类使用了一个TreeMap.

Excelvba入门教学教程

VBA 入门系列讲座 1.1 VBA 是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动 化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel 的宏语 言来使excel 自动化,使用word BASIC 使word 自动化,等等.微软决定让它开发出 来的应用程序共享一种通用的自动化语言 -------------------------- V isual Basic For Application (VBA ),可以认为VBA 是非常流行的应用程序开发语言 VASUAL BASIC 的子集.实际上VBA 是”寄生于”VB 应用程序的版本.VBA 和VB 的区别包 括如下几个方面: VB 是设计用于创建标准的应用程序,而VBA 是使已有的应用程序(excel 等)自动化 VB 具有自己的开发环境,而VBA 必须寄生于已有的应用程序. 要运行VB 开发的应用程序,用户不必安装VB,因为VB 开发出的应用程 序是 可执行文件(*.EXE ),而VBA 开发的程序必须依赖于它的”父”应用 程序, 例如excel. 尽管存在这些不同,VBA 和VB 在结构上仍然十分相似.事实上,如果你已经了 解了 VB,会发现学习VBA 非常快.相应的,学完VBA 会给学习VB 打下坚实的基 础.而且,当学会在excel 中用VBA 创建解决方案后,即已具备在 word access OUTLOOK FOX PRO P ROWER POINT 中用VBA 创建解决方案的大部分知识. VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化 . VBA 可以称作excel 的“遥控器”. VBA 究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动 化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel 用做开发平台实现应用程序. 1.2 Excel 环境中基于应用程序自动化的优点 也许你想知道VBA 可以干什么?使用VBA 可以实现的功能包括: 使重复的任务自动化. 自定义excel 工具栏,菜单和界面. 简化模板的使用. 自定义exceI 使其成为开发平台. 创建报表. 对数据进行复杂的操作和分析. 1. 2. 3. 1. 2. 3. 4. 5. 6.

Excel VBA基础教程两篇

Excel VBA基础教程两篇 篇一:Excel VBA基础教程 Excel VBA教程是把VB编程应用在Excel平台的一套实用教程,Excel +VBA双剑合壁,他可以帮助我们实现Excel原本实现不了的功能,可以让工作变得更高效,可以让操作变得变方便,可以把重复性的操作变得更有趣,随心所欲的定制自己的工作平台,还可以针对企业来开发各种系统如,人事管理系统、仓库系统、进存销系统等,对于经常要处理大量数据工作的朋友,学会了这套VBA教程你的工作将游刃有余。 标题 Excel VBA基础教程 Excel VBA基础教程 第一章:Excel VBA基础知识 1-1、Excel VBA教程简介 1-2、宏在工作中的运用

1-3、Excel VBA基础 1-4、Excel VBA窗口介绍 1-5、Excel VBA代码编写规则1-6、对象 1-7、属性 1-8、方法 1-9、常量与变量 1-10、数据类型 1-11、判断语句之IF 1-12、判断语句IF之多条件1-12B、If条件判断小结

1-13、判断语句之SELECT 1-14、循环语句之DO...LOOP 1-15、循环语句之DO...LOOP实例 1-16、循环语句之DO WHILE...LOOP 1-17、循环语句之DO UNTIL...LOOP 1-18、循环语句之WHILE与UNTIL位置变化1-18B、DO...LOOP 语法小结 1-19、.循环语句之FOR EACH...NEXT 1-20、循环语句之FOX...NEXT 1-20B、For...NEXT小结与实例 1-21、用语句FOR...NEXT制作九九乘法表

第5 章 课堂练习

第 5 章数组和广义表 1. 稀疏矩阵压缩存储后,必会失去随机存取功能。() 2. 数组是同类型值的集合。() 3. 数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。() 4. 一个稀疏矩阵A m*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了A m*n 的转置运算。() 5. 二维以上的数组其实是一种特殊的广义表。() 6. 广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。() 7. 若一个广义表的表头为空表,则此广义表亦为空表。() 8. 广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。()9. 所谓取广义表的表尾就是返回广义表中最后一个元素。() 10. 一个广义表可以为其它广义表所共享。

() 11.设二维数组A[-20..30,-30..20], 每个元素占有 4 个存储单元, 存储起始地址为200.如按行优先顺序存储,则元素 A[25,18]的存储地址为__(1)_;如按列优先顺序存储,则元素A[-18,-25]的存储地址为__(2)_。

12. 已知二维数组A[1..10,0..9]中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时,A[5,9]的地址是:_______。 13. 设数组A[0..8,1..10],数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么 (l)存放该数组至少需要的单元数是_______; (2)存放数组的第8列的所有元素至少需要的单元数是_______; (3)数组按列存储时,元素A[5,8]的起始地址是_______。

C#基本类型库-集合和数组习题.doc

C#基本类型库?集合和数组 1.以下的C#程序:运行后数组A中的数值为()。 public static void Main() { int[] A=new intf51{ 1,2, 3,4,5 }; Objectf l B = new Object[习{ 6, 7, & 9, 10 }; Array.Copy( A, B、2 ); } a) 1 、2、3、 4、 5 b) 1 、28、 9、 10 c)1 、2、3、 9、 10 d )6 、 7、8、 9、 10 2.以下的C#程序:运行输出为()。 using System; using System.Collections; public class SamplesHashtable { public static void Main() { Hashtable myHT = new Hashtable(); myHT.Add(”A”, ”AA”); myHT.Add(”B”, ”BB“);myHT.Add(”C”,”CC“); Console.WriteLine(myHT.Count); myHT.Remove(” BB“); Console.WriteLine(myHT.Count); 1 } a)3 3 b)3 2 c)2 2 d)运行时错误,提示无效的键值 3.在.Net屮,ArrayList对象位于()命名空间内。 a)System.Array b)System.IO c)System.CoHection d)System.RunTime 4.阅读以下的C#代码: Class Classi Public static void doArr(int[J arr,out int k)

excel VBA编程入门教程

excel VBA编程入门教程 回看到“excel 编程入门教程”求助贴,不料被别人捷足先登。没想到今天又看到这个求助经 验贴,而且又有优先评优支持当然要领取了。本人也算上个世纪的编程老鸟,虽然对于当前 的主流技术不是非常精通,但是对于Excel VBA,还是略知一二的。下面就来和大家分享一 下Excel VBA编程入门经验。 工具/原料 熟练操作Excel,有一定得VB编程经验,别说你的电脑没装office啊步骤/方法 点击Windows左下方,“开始”-“程序” -“Microsoft Office”-"Microsoft Office Excel 2003", 打开Excel,如下图示。 点击按下图所示,点击菜单“工具”-“宏”-“Visual Basic 编辑器”

然后会出现“Visual Basic 编辑器”窗体,如下图示 你已经启动了VB编程环境,这就是你的编程平台。 按下图所示,点击“Visual Basic 编辑器”中的菜单“插入”-“用户窗体”

接着出现“可编辑窗体”,如下图所示 上图,红色框中所示为“可编辑窗体”,你可以在上面进行可视化编程,就类似于我们现实生活中的画布,你可以在窗体上通过左侧绿色框内的“工具箱”绘制命令按钮、文字框、标签等编程控件。你也可以通过鼠标点击红色框中窗体外围的8个的操作手柄,拖动窗体的大小,直观形象的进行可视化编程。操作手柄如下图示

红色圈内的句点就是操作手柄。当然,你也可以对窗体的显示的文字进行调整,这就需要在最左侧的属性窗口中修改它的“Caption”属性,考虑到这时编程入门,仅仅是教大家一个简单的编程流程,所以我就不多废话了。 接着,用鼠标单击左侧“工具箱”内的“命令按钮控件”,如下图所示 此时,鼠标光标会变成一个“十字准星”和“命令按钮”状,因鼠标形状无法截图,此处就不贴图了。你可以用鼠标拖动,在可编辑窗体上绘制一个任意大小的命令按钮。如下图示: 同样,这个“命令按钮”四周也有8个操作手柄,你可以用鼠标来调整它的大小。 最关键的时刻到了,马上就可以进行编程了。用鼠标双击“命令按钮CommandButton1”,会出现如下窗口

ACAD VBA初级教程

ACAD VBA初级教程第一课:入门 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。 2.什么是Autocad VBA? VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。 3、VBA有多难? 相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。 4、怎样学习VBA? 介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。 5、现在我们开始编写第一个程序:画一百个同心圆 第一步:复制下面的红色代码 第二步:在模型空间按快捷键Alt+F8,出现宏窗口 第三步:在宏名称中填写C100,点“创建”、“确定” 第四步:在Sub c100()和End Sub之间粘贴代码 第五步:回到模型空间,再次按Alt+F8,点击“运行” Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0

For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆 Next i End Sub 也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。 第二课编程基础 本课主要任务是对上一课的例程进行详细分析 下面是源码: Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0 For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆 Next i End Sub 先看第一行和最后一行: Sub C100() …… End Sub C100是宏的名称,也叫过程名称,当用户执行C100时程序将运行sub和end sub之间的所有指令。 第二行: Dim cc(0 To 2) As Double '声明坐标变量 后半段“'声明坐标变量”自动变为绿色字体,它是代码语句的注释,它不会影响程序运行,它的作用是告诉阅读者程序员的想法。对于简单的程序,一般不需要写注释,如果要编写非常复杂的程序,最好要多加注

C++集合类

集合的概念在数学中,我们把具有某些共同特征的元素构成的一个整体称为集合.一个集合就是由同一种有序类型的一组数据元素所组成的,这一种有序类型称为该集合的基类型. 课堂练习:设计一个集合类numSet,存放有序的整型数序,其中的元素按从小到大的顺序排列并且不包含相同的元素,要求: 1)向数序中添加元素(过滤重复数据)并保持有序 2)从数序中查找数据元素并删除 分析: 数据成员: int count; //数序中元素的个数 int a[MAX]; //存放数序的数组 成员函数: void addnum(int n); //向有序数组中添加元素 v0id delenum(int n); //从有序数组中查找元素并删除 numSet( ) {count=0;} //构造函数 void disp ( ); //输出有序数组 测试数据:numSet set1,set2; set1.addnum(3); set1.addnum(2); set1.addnum(1); set1.disp( ); set1.delenum(2); set1.disp( ); 3)求两个整数数序的合并数序 分析:增加友元函数: friend numSet unionset(numSet &s1, numSet &s2); 返回s1与s2合并的结果 即:S={ s1,s2} s1: i=0 i using namespace std; const int MAX=20; class Numset { friend Numset unionset(Numset &s1,Numset &s2); //合并数序s1和s2 int count; int a[MAX];

达梦数据库中集合类型的使用(上)

达梦数据库中集合类型的使用(上) 在DM PL/SQL的使用过程中,如果我们想储存单个的数据,我们可以利用声明变量的方式来存储,如果我们想存储单行多列的数据,我们可以用到记录类型(record),如果我们想保存单列多行的数据,则可以利用集合类型的方式来存储。本文就将给大家介绍达梦数据库中常用的几种集合类型以及他们的特点。 一.索引表 索引表的特点: 1.可以使用数字或者字母作为下标 2.以数字做下标时可以使用负数 3.只能在PL/SQL块中使用,无法作为表字段 下面进行一些测试,首先是数字做下标的索引表 declare type index_tab_type is table of varchar(30)index by int; v_table index_tab_type; begin v_table(-1):='hello';--设定下标为-1的元素的值 v_table(1):='and ';--设定下标为1的元素的值 v_table(5):='world'; print('元素个数为:'||v_table.count);

print('第一个元素是'||v_table(v_table.first));--输出第一个元素 print('最后一个元素是'||v_table(v_https://www.wendangku.net/doc/5f15025738.html,st));--输出最后一个元素 end; 执行结果如下 然后是字母做下标的索引表 declare type index_tab_type is table of varchar(30)index by varchar(1); v_table index_tab_type; begin v_table('a'):='hello';--设定下标为-1的元素的值 v_table('c'):='world'; print('元素个数:'||v_table.count); print('第一个元素'||v_table(v_table.first)); print('最后一个元素'||v_table(v_https://www.wendangku.net/doc/5f15025738.html,st)); end;

Excel_VBA数组入门教程集合

Excel VBA数组入门教程集合 1. 前言:不要把VBA数组想的太神秘,它其实就是一组数字而已。 2. 数组的维数: Sub 数组示例() Dim x As Long, y As Long Dim arr(1 To 10, 1 To 3) '创建一个可以容下10行3列的数组空间 For x = 1 To 4 For y = 1 To 3 arr(x, y) = Cells(x, y) '通过循环把单元格区域a1:c4的数据装进数组中 Next y Next x MsgBox arr(4, 3) '根据提供的行数和列数显示数组 arr(1, 2) = "我改一下试试" '你可以随时修改数组内指定位置的数据 MsgBox arr(1, 2) End Sub 总结:二维是由行和列表示的数组,如ARR(3,2)表示数组中第3排第2列的元素。而一维数组只是由一个元素决定,如ARR(4)表示数组中第4个元素 3. 把单元格数据搬入内存: 一、声明: Dim arr as Variant '声明一个变量,不能声明其他数据类型 Dim arr(1 to 10, 1 to 2) , 这种声明也是错误的,固定大小的VBA数组是不能一次性装入单元格数据 或:dim arr()这种声明方式是声明一个动态数组,也可以装入单元格区域,构成一个VBA数组。 二、装入 arr =range("a9:c100") '装入很简单,变量 = 单元格区域 三、读出 装入数组后的单元格数值,可以按数组名称(行数,列数) 直接读取该位置的值,如下面的代码。 Msgbox arr(3,2) '就可以取出搬过去的而构成的数组第3行第2列的内容 四、示例 Sub s3() Dim arr() '声明一个动态数组(动态指不固定大小) Dim arr1 '声明一个Variant类型的变量

相关文档
相关文档 最新文档