教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

excel - VBA基础入门 - 图文(5)

来源:网络收集 时间:2026-05-25
导读: 选择一个瓶子去装我们的油,一斤油,用一个瓶子刚好合适,当然,如果你只用一个茶杯去装,那也是不行的。 用数据来打比方,我们需要用变量来保存一个学生某学科考试成绩的分数,那么用Byte数据类型就可以了(它的范

选择一个瓶子去装我们的油,一斤油,用一个瓶子刚好合适,当然,如果你只用一个茶杯去装,那也是不行的。

用数据来打比方,我们需要用变量来保存一个学生某学科考试成绩的分数,那么用Byte数据类型就可以了(它的范围是0——255),如果在这里使用Integer、Long、Single这些数据类型的话,就相当于我们用水桶,水缸去装那一斤菜油,只是对计算机存储空间的浪费,当然,如果你的值的范围超过了Byte的范围,那定义成Byte也是不行的。 定义变量的类型时,除了考虑长度外,还要考虑变量的值的类型。

买油的时候不管是用瓶子还是用水缸,反正都能装回来,但是如果你用麻袋能不能装那一斤油回来?

还是那句话,如果你没有定义变量类型或定义变量类型为Variant,聪明的计算机会先看你打的油是固体还是液体,是液体的话把麻袋扔在一边,给你弄口大缸子。但是如果你自己选择麻袋上街去买油,你还能不能把你的油带回来?

用数据来打比方,如果你定义了一个变量为Integer型,那你再用把学生姓名的字符串赋给它,行吗? 复制内容到剪贴板 代码:

Sub mysub()

Dim a As Integer

a = \我在学习VBA变量\ MsgBox a End Sub

将这个过程提制到模块里,按F5运行它,看看是什么结果?尝试修改一下定义的数据类型,看看修改后的运行结果! VBA函数 =========

用Excel的时间相信你也不短了,什么是函数就不再细说了。

与其他编程语言一样,VBA含有各种内臵的函数。很多的VBA函数都与Excel的工作表函数类似,或者一样。

使用VBA函数的的方式与使用工作表公式中函数的方式相同,在VBA代码中,我们可以使用很多Excel的工作表函数,例如Sum,Abs等。 例如:

复制内容到剪贴板 代码:

Sub myabs()

a = InputBox(\请输入数值:\提示\ labs = Abs(a)

MsgBox \你输入的值的绝对值为:\ End Sub

这是一个求绝对值的过程,通过InputBox提示用户输入一个数值给变量a,再用Abs函数求出变量的绝对值,最后通过MsgBox返回结果。

InputBox同MsgBox函数一样,是很常用的函数,关于它的功能及用法,请用绝招:抹黑,按F1,

但并不是所有的工作表函数在VBA里都可以直接调用,但由于WorksheetFunction对象包含在Application对象中,如果我们要在VBA语句里使用某个不能直接调用的工作表函数,只需要在函数名称前加上Application.WorksheetFunction语语即可。 如:在VBA里使用counta函数则代码为:

application.worksheetfunction.counta(range(\

VBA里面的函数很多,可以简化我们的计算和操作,功能强大啊。但当你面对那一堆英文字母,是否为该怎么记住它们感到晕菜?有人对我说,记住常用的几个,其他的不用记那么清楚,有个模糊的印向,用时再翻Help,知道在哪里找就万事OK了。我觉得这个方法很好,现转送给你!

控制程序的流程,有判断、分支和循环三种语句。 接下来我们将一样一样地进行讲解。

===================== 程序流程控制—>if语句

==================== 1、if—then语句

这个句式相当于中文里面的?如果.......那么?。 格式:

if 逻辑表达式 then 语句块 end if

解释:如果逻辑表达式的结果为true,则执行语句块里的所有语句,否则执行end if后面的语句。语句块可以是一句指令或多条指令,也可以调用一个或多个过程,当然,也可以为空,就是没有语句。

如:要判断A1单元格是否已输入内容,设计程序: 复制内容到剪贴板 代码:

Sub test1()

If [a1] = \

MsgBox \单元格没有输入任何内容!\ End If End Sub

2、 if—then—else语句

这个语句相当于中文里面的?如果......那么......否则......?句式。 格式:

if 逻辑表达式 then 语句块1 else

语句块2 end if

解释:如果逻辑表达式的结果为true,则执行语句块1里的所有语句,如果逻辑表达式的结果为Flase则执行语句块2里的所有语句。

如:要判断A1单元格是否已输入内容,设计程序: 复制内容到剪贴板 代码:

Sub test2()

If [a1] = \

MsgBox \单元格没有输入任何内容!\ Else

MsgBox \单元格已经输入了内容!\ End If

End Sub

3、if—then—elseif语句

这就相当于中文里面的若?如果…那么…否则如果…那么…否则?语句,当然,可以有多句?否则如果.......? 格式:

If 逻辑表达式1 Then 语句块1

ElseIf 逻辑表达式2 Then 语句块2

ElseIf 逻辑表达式3Then 语句块3 … Else

语句块n Eed If

解释:若逻辑表达式1的结果为True,则执行语句块1,接着继续执行EndIf后面的语句;若逻辑表达式1的结果为False,则检查逻辑表达式2的结果,若为True则执行语句块2,接着继续执行EndIf后面的语句.......一直到所有结果的条件都不满足时,才执行Else后面的语句块n。

如:要判断A1单元格的数是否能被2、3、5其中之一整除,设计程序: 复制内容到剪贴板 代码:

Sub test3()

If [a1] = \

MsgBox \单元格没有输入任何内容!\ ElseIf [a1] Mod 2 = 0 Then

MsgBox \单元格的数能被2整除!\ ElseIf [a1] Mod 3 = 0 Then

MsgBox \单元格的数能被3整除!\ ElseIf [a1] Mod 5 = 0 Then

MsgBox \单元格的数能被5整除!\ Else

MsgBox \单元格的数不能被2、3、5其中之一整除!\ End If End Sub

IF语句.rar (6.7 KB)

程序流程控制——Select Case语句 ============================= Select Case语句同IF语句一样,也是条件判断的语句。它的功能也可以用IF语句来完成。但是,当程序的条件太多,用IF语句来判断的话就存在一些不足了,比如程序是否美观?是否便于阅读?程序的执行效率等等。Select Case语句在执行的效率上,同IF语句相比,肯定是要快得多。

[Select Case语句的语法] Select Case 测试表达式 Case 条件表达式1 语句块1

Case 条件表达式2 语句块2 Case 条件表达式3 语句块3 ......

Case 条件表达式n 语句块n Case Else

语句块Else End Select.

当某个条件表达式与测试表达式相匹配时,则执行其后的语句块,否则执行Case Else后的语 …… 此处隐藏:2940字,全部文档内容请下载后查看。喜欢就下载吧 ……

excel - VBA基础入门 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447493.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)