大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解的是第34讲:数组的传递。在应用数组的时候,我们往往需要要把数组的值由一个数组传递给另外一个数组,就如同变量的传递一样:

A=B '把B值赋给A

C=A '把A值赋给C

如上例,就完成了把值的传递的过程,分别把B的值传递给了A;把A的值传递了B,那么数组是否也可以呢?我们看下面的数组传递:

下面看我给出的代码:

Sub MyNZsz_34() '第34讲 如何把一个固定数组的值传递给另外一个数组

'直接赋值是不对的

Sheets("34").Select

Dim arr1(1) As Integer '定义一个一维固定数组arr1(1)

Dim arr2(1) As Integer '定义一个一维固定数组arr2(1)

arr1(0) = 1 '给arr1(1) 的数组元素0赋值为1

arr1(1) = 2 '给arr1(1) 的数组元素0赋值为2

arr2 = arr1 '讲数组1传递给数组2

MsgBox (arr2(1)) '提示数组2的元素1的值

End Sub

上述代码的过程要完成的是首先定义两个一维数组arr1(1)和 arr2(1);然后先给其中的一个数组arr1(1)赋值,这个数组共用两个元素分别赋值为1,2;然后我们用普通变量赋值的方法把数组arr1(1)赋值给arr2(1);最后提示数组2的元素1的值,那么是否会弹出对话框提示为1呢?

我们看看代码的截图和代码的运行:

1 代码截图

2 运行截图:

这个时候会提示我们不能这样给数组赋值。由此我们可以看出:对于给定的2 个静态数组不能相互赋值,否则将出现编译错误:不能给数组赋值。

那么要如何完成数组的值由一个数组传递给另外一个数组呢?常用的方法:①将静态数组赋值给动态数组②将静态数组赋值给一个变体变量③再有就是循环的方法。对于循环的方案比较简单,不再多说,这里着重讲解前两个方法。

对于动态数组我们在之前的讲解中已经讲了很多了,对于变量体大家要加强理解:数组可以用Variant 变体变量获取一组单元格的值,公式等,当不包括单元格地址。大家要理解Variant 变体变量的意义,当使用数组的这种赋值方法的时候一定要定义这个变量为Variant 变体变量。

对于上面给出的代码,我下面修正:

Sub MyNZsz_34_1() '第34讲 如何把一个固定数组的值传递给另外一个数组

'直接赋值是不对的

Sheets("34").Select

Dim arr1(1) As Integer '定义一个一维固定数组arr1(1)

Dim arr3() As Integer

Dim arr4 As Variant

arr1(0) = 1 '给arr1(1) 的数组元素0赋值为1

arr1(1) = 2 '给arr1(1) 的数组元素0赋值为2

ReDim arr3(1)

arr3 = arr1 '讲数组1传递给数组2

arr4 = arr1

MsgBox "动态数组赋值后:" & arr3(1) '提示数组3的元素1的值

MsgBox "Variant赋值后:" & arr4(1) '提示数组4的元素1的值

End Sub

下面看代码的截图;

代码的运行:

今日内容回向:

1 数组的值如何传递?

2 如何理解变体变量?

c语言把一个数组赋值给另一个数组_如何把一个固定数组的值传递给另外一个数组...相关推荐

  1. php数组的值传递给另一个数组,如何把一个固定数组的值传递给另外一个数组

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解的是第34讲:数组的传递.在应用数组的时候,我们往往需要要把数组的值由一个数组传递给另外一个数组,就如同变量的传递一样: A=B '把B值赋给 ...

  2. java数组赋值后可以更改吗_我们可以为Java中的最终数组赋值吗?

    数组是一个容器,可以容纳固定数量的项目,这些项目应为同一类型.大多数数据结构都利用数组来实现其算法.以下是理解数组概念的重要术语.元素-存储在数组中的每个项目称为元素. 索引-数组中元素的每个位置都有 ...

  3. android如何导入活动,关于android:如何将活动值传递给另一个活动(Kotlin)

    我是Kotlin的新手,我正在尝试为我的应用进行设置活动,我希望该活动将其价值传递给其他活动. 我尝试了不同的代码,但没有一个起作用,我尝试制作一个共享的首选项文件,但我不知道如何编写代码 要清楚,我 ...

  4. 滴水三期:day16.2-结构体数组赋值

    一.用下标手动给字符数组赋值 先给字符数组赋值,并且手动添加结束标志0x0或者'\0'都表示一字节十六进制数0x0:最后使用%s打印 #include "stdafx.h" str ...

  5. Java中数组赋值0-99_Java 数组

    数组对于每一门编辑应语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[10 ...

  6. 结构体数组赋值的问题

    C语言只有在定义字符数组的时候才能用"="来初始化变量,其它情况下是不能直接用"="来为字符数组赋值的,要为字符数组赋值可以用string.h头文件中的strc ...

  7. java中数组赋值方法

    Java中数组赋值方法,以及为什么不能使用a = b //这里定义两个长度相同的数组,其中数组二为空 int[] arr1 = new int[]{1,2,3,4,5,6,0,0,0,0}; int[ ...

  8. Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true

    8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的.编写一个方法,如果m1和m2相同的话,返回true 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8. ...

  9. java数组搞笑_面试官:小伙子,给我说一下Java 数组吧

    Java 数组 Java 语言中提供的数组是用来存储固定大小的同类型元素. 1.声明数组变量 首先必须声明数组变量,才能在程序中使用数组. dataType[] arrayRefVar; // 首选的 ...

最新文章

  1. Vue引入百度地图,如何去掉左下角的版权logo百度等信息?
  2. visual studio code 里调试运行 Python代码
  3. Science:组合图表绘制
  4. 社区资源 | NeurIPS 2020预讲会回放资料(含PPT)
  5. Node.js:get/post请求、全局对象、工具模块
  6. 别一提英特尔就电脑CPU了
  7. 上传和优化Magento 2中的产品图像和视频
  8. python解决实际问题的过程_Python开发过程问题集锦(Continuous updating)
  9. 18 | 案例篇:内存泄漏了,我该如何定位和处理?
  10. 电子计算机 俗称 它是一种具有,2013年计算机一级B试题模拟1
  11. ArcGIS中国工具(ArcGISCTools)3.2 安装教程(附安装包下载)
  12. 怎样配置mysql数据源_mysql怎样配置ODBC数据源
  13. Visual Studio 2019 v16.6 Preview 3 发布
  14. C++基础::Stream(二)
  15. 微宝球型机器人功能_《宇宙机器人 无线控制器使用指南》评测:与次世代的美好初恋...
  16. 从本机复制文件到VM虚拟机出现卡死
  17. java jvm dump文件_各种获取JVM DUMP的方法
  18. 139显示无法imap服务器,139邮箱客户端 imap服务器
  19. TransactionSynchronizationManager用法和含义
  20. http状态码204理解

热门文章

  1. SQLServer代理新建或者编辑作业报错
  2. Bloom Filter 大规模数据处理利器
  3. ibatis动态查询条件(转载待完善)
  4. 像素钱包:一个可以把比特现金藏在图片里的APP
  5. BCH为什么没有黑客马拉松大赛?我们差钱吗?
  6. Python爬虫之足球小将动漫(图片)下载
  7. 区块链开发:为什么你应该学习?
  8. java 调 pro*c
  9. [洛谷3812]【模板】线性基
  10. sbt+Scala IDE建立Scala项目