VBA教程连载——第五节:VBA编程基础
一、数据类型与数据结构
但凡所有的编程,在学习编程语言时,首先必定学的便是数据类型与数据结构。那什么是数据类型与数据结构呢?莫急,请听我慢慢道来。
1.数据类型
数据类型说白了,就是描述一类事物特性的一个用词。听着好像有点玄乎,我举个栗子。我们在描述一个人的性别的时候,用了“男”、“女”这两个字,性别就是数据类型,男,女是他的取值,只能二选一。描述人的数量的时候,喜欢用数字来取值,数量就是数据类型,当然它只能取整数,他的值也只能是整数值。
咋一看,这样不得好多好多数据类型咩?当然不是啦!编程语言的创始人早就想到这些啦!他们会把这些事务特性的共性表达出来,最后归为几类数据类型罢了。比如说性别,姓名,甚至住址啥的,他们全部用“字符串“来描述。等等,啥叫字符串?字符串,嗯,其实就是一串字符。那啥又叫字符呢?额,好像越说越乱了。作为一个普通办公党,我们只要知道,英文双引号里面的东西,就是字符串,那就可以了。字符串,说白了就是一堆不可被修改的数据。它只能被读取,展示出来。
下面我举个简单的例子,演示一下字符串的。
点击Visual Basic进入代码编辑界面
点击视图-代码窗口,输入代码(也可以按F7)
Sub 世界你好() "定义一个宏,名为世界你好 dim a as string "定义a 为字符串 a="世界你好" Msgbox(a) "弹出对话框,打印出a里面的内容 End Sub "结束
回到表格,运行宏试试
除了string,字符串,还有其它比较常用的如下。
- Interger ——int型整数,一般暂2个字节(管他几个字符,够用就好)
- Long——长整型,一般占4个字节(哈哈,我觉得Excel的话,int够用了。)
- Double——双精度浮点型,一般占用8个字节(说白了就是用来定义小数的,本来还有个 single 单精度浮点型的,用的比较少,咱就不讲了)
- Date——日期型,一般占8个字节(说白了就是用来定义日期的,比如xxxx年xx月xx日)
- Object——对象型,一般暂用4个字节( “对象”是你通过VBA控制的东西,比如工作簿,比如:区域,窗口,工作表等等)
- Variant——万金油型(简称就是又能定义整数,又能定义小数,不建议使用,会给代码阅读带来负担)
2.变量和常量
这个其实没啥讲的,凡是未知数,基本都是变量。像数字,字符串这种能一眼看出来的就是常量了。对了,顺便说一句,任何未知数,也就是变量在使用之前,都要给它定义数据类型。比如上面的
Dim a as string "这个a就是变量,把它的数据类型定义为string
Dim——用来定义变量,反正“Dim”和“定义”同音,应该很好的记的吧。使用方法就是上面的
Dim xx as 数据类型
如果要定义多个变量,请用英文逗号隔开。
dim xx1,xx2,xx3,xx4 as 某数据类型
3.数据结构
数据结构又是啥东东呢?其实它就是一种逻辑关系。比如说,我们常用if来判断“是”还是””
Sub 比较大小() "定义一个宏,名为比较大小 Dim a As Integer a = 2 If a > 0 Then MsgBox ("a比零大") If a < 0 Then MsgBox ("a比零小") End Sub "结束
if xx then xx,就是if的基本用法啦。其实我们还可以把下面那个if then改成else,更加省事。
Sub 比较大小() "定义一个宏,名为比较大小 Dim a As Integer a = 2 If a > 0 Then MsgBox ("a比零大") Else MsgBox ("a比零小") End If "因为这里结果和条件不同行,所以加入end if来判断if结束 End Sub "结束
对啦!所有的VBA代码都可以小写噢!代码编辑器会自动帮你大写哒!
对啦!所有的VBA代码都可以小写噢!代码编辑器会自动帮你大写哒!
对啦!所有的VBA代码都可以小写噢!代码编辑器会自动帮你大写哒!
我们也喜欢用while 或者for来让代码循环运行。当然,本人推荐还是用for,比较好。所以这里我就继续给大家复习for了。
for i = 1 to xxx "xxx必须为整数,意为从1循环到xxx,共运行xxx次 xxxxx "中间循环部分 next "本次运行结束,跳到下一步
比如要计算1加到100的和。
Sub 计算1到100之和() "定义一个宏,名为计算1到100之和 Dim i, s As Integer s = 0 "s初始化为0 For i = 1 To 100 "从1开始,循环100次 s = s + i "将i的值,累计给s Next "结束本次循环 MsgBox (s) "窗口弹出s的值 End Sub "结束
结语
因为本教程是用于办公人士的编程,所以教的工作面偏向于实用,非专业化编程,所涉及的知识面也只限于经常使用的,比较容易理解的部分。若想更进一步研究,甚至把VBA编程当成一种职业,请另寻良师。
前文回顾:
第四节:如何录制宏
第三节:运行一个宏试试吧
第二节:使用宏所需要的环境
第一节:什么是vba
下一节: