使用数组时,出错是很容易的。如果你试图给数组赋予比声明数组时更多的成员的话,VBA就会显示错误信息“下标越界”。

另外一个使用数组时经常碰到的错误是类型不匹配。要避免这类错误,就要牢记一个数组的每个成员都必须具有相同的数据类型。如果你试图给数组成员赋予和数组声明的数据类型矛盾的数据的话,你就将在执行代码时收到“类型不匹配”的错误。要让一个数组出错不同类型的数据类型的话,你就得声明数组为Variant类型。

数组作为参数:

在子过程或者函数过程之间作为必须或者可选参数传递。如果传递的参数不是过程执行一定要的话,那么这个参数名称就应该在前面加关键字Optional。然而,有些时候,你事先并不知道你要传递多少个参数。一个典型的例子就是加法。你可能想要将两个数字加和,或者,你也许要加和3个,10个,或者15个数字。使用关键字ParamArray,你就可以将一个包含任意个成员的数组传递给你的子过程和函数过程。下面的函数过程AddMultipleArgs将加和你所需要的任何多个数字。该函数以数组myNumbers的声明开始,注意关键字ParamArray的使用。该数组必须声明为Variant类型,并且它必须是函数过程的最后一个参数。

Function AddMultipleArgs(ParamArray myNumbers() As Variant)
Dim mySum As Single
Dim myValue As Variant
For Each myValue In myNumbers
mySum = mySum + myValue
Next
AddMultipleArgs = mySum
End FunctionPublic Sub Multipleadd()
c = AddMultipleArgs(1, 23.24, 3, 24, 8, 34)
MsgBox c
End Sub

ExcelVBA之数组错误相关推荐

  1. c语言二维数组错误语法,关于c语言动态分配二维数组free的错误求dalao看看怎么回事谢谢啊~~~~...

    typedef struct { int**data; int row; int col; }MyMatrix; typedef MyMatrix* Matrix; /* 编写矩阵输入函数 INPUT ...

  2. 【嵌入式开发】C语言 指针数组 多维数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21402047 . 1. 地址算数运算示例 指针算数运算 ...

  3. C语言 显示数组元素的值和地址

    #include <stdio.h>int main(void){int i;int a[5] = {1, 2, 3, 4, 5};int *p = a; // p指向a[0]for(i ...

  4. java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误

    <Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...

  5. STL3-MyArray动态数组类模板实现

    注意 1.右值的拷贝使用 2.拷贝构造函数的使用 #include<iostream> using namespace std;template<class T> class ...

  6. 【Java】总结Java数组的拷贝和输出

    Java的clone()方法 想clone(),先需要实现Cloneable接口,如此才能拷贝. 众所周知,Java中的clone()多为浅拷贝,即只复制引用,不会另外开辟完整空间重新存储的,一旦原先 ...

  7. java的mwcellarray_Java 数组

    备注:如有错误请联系. 1.Java数组的定义 Java 语言中提供的数组是用来存储固定大小的同类型元素. 2.Java数组的声明 首先必须声明数组变量,才能在程序中使用数组.下面是声明数组变量的语法 ...

  8. 数据结构与算法分析-用C语言实现栈(数组方式)

    用单链表实现栈并不是最好的方法,因为出入栈都要涉及指针的操作,在一些情况下这些操作可能会花费过长的时间,最简单实现栈的方法还是用数组的方式,用一个int型的数字表示栈顶元素的位置,进栈和出栈只需要对这 ...

  9. C语言学习(七)之数组

    文章目录 一.数组 1.1 为什么需要数组 1.2 数组的分类 1.3 一维数组 1.3.1 定义数组 1.3.1.2 基本操作 1.3.1.2.1 初始化 1.3.1.2.2 查找 1.3.1.2. ...

最新文章

  1. RESTful API 设计规范精讲
  2. 选择排序算法实现思想个人理解
  3. MySQL 5.7 SYS SCHEMA
  4. java springcloud版b2b2c社交电商spring cloud分布式微服务(十三)断路器聚合监控(Hystrix Turbine)...
  5. 不能创建对象: 'CDONTS.Newmail'”
  6. vc 获取月份的天数_「青少年编程」课程:输入年份与月份,得到该月有多少天...
  7. 1.4编程基础之逻辑表达式与条件分支 09 判断能否被3,5,7整除
  8. 如何评价百度新目标:Everyone can AI ?| 在现场
  9. 月薪14.5K...转行测试还是考公考研?律师小哥是这样选择的...
  10. 剑指offer-从尾到头打印链表
  11. sdut Message Flood(c++ map)
  12. linux 脚本 格式化,Shell脚本批量格式化文件名
  13. ios刷机固件下载网址
  14. IDEA查看历史记录
  15. yudian温控表a1温度怎么补偿_厦门宇电yudian温控表AI-516/516P型人工智能温度调节器控制器-恩莱自动化官网...
  16. android打电话的intent,如何在Android中使用intent打电话?
  17. 无线降噪蓝牙耳机评测,南卡、JBL、OPPO、荣耀降噪蓝牙耳机推荐
  18. 端到端的网络流量监控
  19. 第四届长安杯电子取证大赛个人总结
  20. OpenCV学习(13) 细化算法(1)

热门文章

  1. 调用阿里API实现手机号归属地查询
  2. 利用Python计算移动平均值
  3. mysql mpm_centos7 mpm监控mysql
  4. python怎么显示分数_Python 输入一个数字判断成绩分数等级的方法
  5. [leetcode] 1507. Reformat Date
  6. jasypt配置文件加解密
  7. 计算机是人工智能研究的一个领域吗,人工智能研究的五个领域
  8. 爬虫学习之批量自动下载歌曲
  9. English——从句中的虚拟语气
  10. 如何实现一个楼中楼的评论系统?