分享

VBA教程连载——第五节:VBA编程基础

 网摘文苑 2019-07-21

一、数据类型与数据结构

但凡所有的编程,在学习编程语言时,首先必定学的便是数据类型与数据结构。那什么是数据类型与数据结构呢?莫急,请听我慢慢道来。

VBA教程连载——第五节:VBA编程基础

1.数据类型

数据类型说白了,就是描述一类事物特性的一个用词。听着好像有点玄乎,我举个栗子。我们在描述一个人的性别的时候,用了“男”、“女”这两个字,性别就是数据类型,男,女是他的取值,只能二选一。描述人的数量的时候,喜欢用数字来取值,数量就是数据类型,当然它只能取整数,他的值也只能是整数值。

咋一看,这样不得好多好多数据类型咩?当然不是啦!编程语言的创始人早就想到这些啦!他们会把这些事务特性的共性表达出来,最后归为几类数据类型罢了。比如说性别,姓名,甚至住址啥的,他们全部用“字符串“来描述。等等,啥叫字符串?字符串,嗯,其实就是一串字符。那啥又叫字符呢?额,好像越说越乱了。作为一个普通办公党,我们只要知道,英文双引号里面的东西,就是字符串,那就可以了。字符串,说白了就是一堆不可被修改的数据。它只能被读取,展示出来。

下面我举个简单的例子,演示一下字符串的。

VBA教程连载——第五节:VBA编程基础

点击Visual Basic进入代码编辑界面

VBA教程连载——第五节:VBA编程基础

点击视图-代码窗口,输入代码(也可以按F7)

Sub 世界你好() '定义一个宏,名为世界你好dim a as string '定义a 为字符串a='世界你好'Msgbox(a) '弹出对话框,打印出a里面的内容End Sub '结束

VBA教程连载——第五节:VBA编程基础

回到表格,运行宏试试

除了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 Integera = 2If 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 Integera = 2If a > 0 ThenMsgBox ('a比零大')ElseMsgBox ('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 Integers = 0 's初始化为0For i = 1 To 100 '从1开始,循环100次s = s + i '将i的值,累计给sNext '结束本次循环MsgBox (s) '窗口弹出s的值End Sub '结束

结语

因为本教程是用于办公人士的编程,所以教的工作面偏向于实用,非专业化编程,所涉及的知识面也只限于经常使用的,比较容易理解的部分。若想更进一步研究,甚至把VBA编程当成一种职业,请另寻良师。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多