如何理解Excel VBA 中的变量

 我来答
pepe3399
2016-07-20 · 知道合伙人软件行家
pepe3399
知道合伙人软件行家
采纳数:1259 获赞数:5939
1988年毕业于苏州市职业大学计算机专业 从事软件开发5年 从事生产管理20年

向TA提问 私信TA
展开全部

变量:在程序运行的过程中会变化,程序运行结束后自动消失。

例如:下面这段代码是一个自定义函数,计算阶乘的。代码如下:

Function jc(a As Integer)
If a > 50 Then
   jc = 0
   Exit Function
End If
jc = 1
For I = 1 To a
   jc = jc * I
Next I
End Function

这里的jc也可以理解成一个变量,初始值设定=1,通过累乘得到所需的阶乘数值。

通过单步运行可以看到jc的变化。

在jc=jc*i设置断点,如图:


设定当a=10,查看函数运行。

第一步:当i=1时查看变量I和JC的值。如图:

第二步:当i=2时查看变量I和JC的值。如图:

第三步:当i=5时查看变量I和JC的值。如图:

第四步:当i=5时查看变量I和JC的值。如图:

就烦条0o
2016-07-19 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46483
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
方法/步骤

1
新建一个空白工作簿,在工作表界面按下组合快捷键Alt+F11或者右键单击任意一个工作表标签,在弹出的右键快捷菜单单击“查看代码”进入VBA编辑环境,
接下来的代码都将在该界面演示,如下图所示:

2
最简单的定义变量是用Dim语句。如以下代码所示就定义了一个变量,该变量的名称为i,并对于该变量进行了赋值。

Sub xyf()
Dim i
i = 1
End Sub
如下图所示

3
变量有变量的类型,不同类型的变量可以存储的数据是不一样的,占用的内存空间也是不一样的。具体的变量类型如下所示:
Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (可变长度字符串), String * length (固定长度字符串), Object, or Variant
如下代码所示分别声明了一个整型的变量i,一个字符型的变量j。

Sub xyf()
Dim i As Integer
Dim j As String
i = 1
j = "abc"
End Sub

4
当定义变量时未指定具体的变量类型时,它的类型属于Variant。
如下代码所示声明了一个Variant型的变量k。
Sub xyf()
Dim k
k = 1
End Sub
Variant型的变量可以用以存放任意的数据。但是相应的它占用的内存空间也是最大的。
5
其实不先声明变量也是可以的,如以下代码也能正常运行
Sub xyf()
i = 1
End Sub
但是随着代码的增多,不先声明变量,将会导致变量名称书写错误后无法发现。
可以强制要求所有变量必须先声明,在代码窗口的声明部分输入强制变量声明语句
Option Explicit,即可要求所有变量必须先定义,若未定义变量,运行代码将弹出如下图所示的出错提示。

6
Option Explicit语句可以通过单击”工具“菜单下的”选项“命令,在弹出的的“选项”对话框中选择“要求变量声明”后单击“确定”要自动添加。通过这样的设置以后所有的VBA都会要求强制变量声明。如下图所示

http://jingyan.baidu.com/article/5552ef47c300eb518ffbc93a.html
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式