VBA入门整理

一、什么是VBA

VBA(Visual Basic for Application) 是Visual Basic的一种宏语言,主要用来扩展MicroSoft Office Excel软件的应用程序功能。

相关资料

详细的VBA基本操作已经在大神编写的《excel_VBA基础入门》中说明的非常详细了,下面就只简单讲解一下常用的相关操作和功能的实现。

二、常用快捷键

Alt + F8 打开宏菜单

在这里插入图片描述

Alf + F11 打开VBE(VBA编辑器)

在这里插入图片描述

三、显示“开发工具”菜单

文件 -> 选项

在这里插入图片描述

自定义功能区 -> 勾选“开发工具” -> 确定

在这里插入图片描述在这里插入图片描述

四、第一个VBA编程

开发工具 -> 插入 -> 按钮

在这里插入图片描述

拖拽即可绘制一个按钮,弹出宏菜单窗口,可以修改宏命名,确定

在这里插入图片描述

右键按钮 -> 指定宏

在这里插入图片描述

点击新建,打开VBE(VBA编辑器)

在这里插入图片描述

输入如下内容

MsgBox "您点击了按钮"

在这里插入图片描述

然后去Excel中点击按钮,效果如下:

在这里插入图片描述

恭喜,您已完成了您的第一个VBA编程

五、VBA常用语法

在创建按钮后,输入的

MsgBox "您点击了按钮"

就是VBA的其中一个语法——弹出提示框语法

下面我们将介绍VBA的其他常用语法

数据类型

数据类型存储空间大小范围
Byte1 个字节0 到 255
Boolean2 个字节True 或 False
Integer2 个字节-32,768 到 32,767
Long4 个字节-2,147,483,648 到 2,147,483,647
Single (单精度浮点型)4 个字节负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38
Double (双精度浮点型)8 个字节负数时从 -1.79769313486232E308到-4.94065645841247E-324;正数时从4.94065645841247E-324 到 1.79769313486232E308
Currency (变比整型)8 个字节从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807
Decimal14 个字节非常大
Date8 个字节100 年 1 月 1 日 到 9999 年 12 月 31 日
Object4 个字节任何 Object 引用
String (变长)10 字节加字符串长度0 到大约 20 亿
String(定长)字符串长度1 到大约 65,400
Variant(数字)16 个字节任何数字值,最大可达 Double 的范围
Variant(字符)22 个字节加字符串长度与变长 String 有相同的范围
用户自定义所有元素所需数目每个元素的范围与它本身的数据类型的范围相同。

声明变量

Dim 变量名 As 数据类型
修饰符说明
Dim/Static本地变量
Dim/Private模块作用域下的变量
Dim/Public共有变量

其中Dim可以省略,

举个栗子

Sub 按钮1_Click()
	A = "您点击了按钮"
    B = #12/21/2019#
    MsgBox "A: " & A & Chr(13) & "B: " & B
End Sub

在这里插入图片描述

补充:

  1. VBA中使用**&**连接字符串或其他类型

  2. Chr(13)代表的是ASCII编码中的换行符

  3. 时间类型必须使用**#**包起来

声明常量

Const 常量名 As 数据类型 = 常量的值

声明数组

Dim/Public 数组名(a to b) as 数据类型

举个栗子

Sub 按钮1_Click()
    Const length As Integer = 5
    Dim arr(length) As Integer
    arr(0) = 1
    arr(1) = 10
    Dim str As String
    For i = 0 To 5
        str = str & arr(i) & ", "
    Next
    MsgBox "str: " & str
End Sub

在这里插入图片描述

补充:

1.VBA不仅可以定义一维数组,还可以定义二维、三维。。。

2.VBA中数组的长度会比你定义的要多一位

3.数组不能越界

注释

单引号('

常用过程处理语句

IF Else
If 逻辑表达式 1 Then
语句块 1
ElseIf 逻辑表达式 2 Then 
语句块 2
ElseIf 逻辑表达式 3Then 
语句块 3 …
Else
语句块 n
End If
Select Case
Select Case 测试表达式
 Case 条件表达式 1
 语句块 1
 Case 条件表达式 2
 语句块 2
 Case 条件表达式 3
 语句块 3
 ......
 Case 条件表达式 n
 语句块 n
 Case Else
 语句块 Else
End Select

举个栗子

Sub 按钮1_Click()
    If [a1].Value = "" Then
        MsgBox "A1 单元格没有输入数字。"
        Exit Sub ' 退出程序
    End If
    Select Case [a1].Value
        Case 0 To 29
            MsgBox "差"
        Case 30 To 59
            MsgBox "不及格"
        Case 60 To 79
            MsgBox "及格"
        Case 80 To 89
            MsgBox "良好"
        Case Else
            MsgBox "优秀"
    End Select
End Sub

在这里插入图片描述

另一种实现

Sub 按钮1_Click()
    If [a1].Value = "" Then
        MsgBox "A1 单元格没有输入数字。"
        Exit Sub ' 退出程序
    End If
    Select Case [a1].Value
        Case Is < 30
            MsgBox "差"
        Case Is < 60
            MsgBox "不及格"
        Case Is < 80
            MsgBox "及格"
        Case Is < 90
            MsgBox "良好"
        Case Else
            MsgBox "优秀"
    End Select
End Sub

在这里插入图片描述

For
For 循环变量=初值 to 终值 step 步长
    循环体 1
    [exit for]
    循环体 2
next 循环变量

补充:

1.Next 后面的驯化变量可以省略不写

For Each
For Each 元素变量 In 对象集合或数组名称
    语句块 1
    [Exit For]
    语句块 2
next 元素变量

举个栗子

Sub 按钮1_Click()
    Dim i As Integer, sht As Worksheet
    i = 1
    For Each sht In Worksheets
        Cells(i, 1) = sht.Name
        i = i + 1 '让写入名称的单元格下移一行
    Next
End Sub

在这里插入图片描述

Do While

格式1——开头判断循环条件:

Do While 循环条件
    语句块 1
    [Exit Do]
    语句块 2
Loop

格式2——结尾判断循环条件:

Do 
    语句块 1
    [Exit Do]
    语句块 2
Loop While 循环条件
Do Until

格式1——开头判断循环条件:

Do Until 循环条件
    语句块 1
    [Exit Do]
    语句块 2
Loop

格式2——结尾判断循环条件:

Do 
    语句块 1
    [Exit Do]
    语句块 2
Loop Until 循环条件

举个栗子

Sub 按钮1_Click()
    Dim Lsum As Long, i As Long
    i = 1
    Do
        Lsum = Lsum + i
        i = i + 1
    Loop Until i > 1000
    MsgBox "1 到 1000 的自然数和为:" & Lsum
End Sub

在这里插入图片描述

Go To

举个栗子

Sub 按钮1_Click()
    Dim Lsum As Long, i As Long
    i = 1
x:     '为 go to 语句设置的标签,必须以英文状态下的冒号结尾
    Lsum = Lsum + i
    i = i + 1
    If i <= 1000 Then GoTo x '如果 i<=1000,则程序跳到标签 X 处
    MsgBox "1 到 1000 的自然数和为:" & Lsum
End Sub

在这里插入图片描述

六、实战-制作Excel欢迎页面

制作窗体

新建Excel文件,Alt + F11 打开VBE(VBA编辑器),右键相应的Excel Project,插入 -> 用户窗体

在这里插入图片描述

在窗体的Picture属性中,添加你想要展示的欢迎界面图片

在这里插入图片描述

注意最好是bmp文件,否则可能会提示无效文件

在这里插入图片描述

如果打不开,

可以使用Windows自带的画图工具将图片另存为BMP文件格式

在这里插入图片描述

调整窗口大小至刚好可以将图片完全展示出来

在这里插入图片描述

编写代码

右键刚才新建好的窗体 -> 查看代码

在这里插入图片描述

输入如下代码:

Private Sub UserForm_Initialize()
    Application.OnTime Now() + TimeValue("00:00:03"), "miss"
End Sub

再次右键相应的Excel Project,插入 -> 模块

在这里插入图片描述

双击新建模块,输入如下代码:

Sub main()
    UserForm1.Show
End Sub
Sub miss()
    Unload UserForm1
End Sub

双击ThisWorkbook,输入如下代码:

在这里插入图片描述

Private Sub Workbook_Open()
    Call main
End Sub

制作完毕

保存后重启Excel,就可以看到刚才制作的欢迎界面了

[撒花]

在这里插入图片描述

参考Excel下载地址:https://download.csdn.net/download/qq_33204709/12045399

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VBA代码整理软件是一种帮助程序员整理和优化VBA代码的工具。它可以帮助用户有效地管理、调试和优化他们的VBA代码。 当我们编写VBA程序时,经常会遇到代码冗余、格式混乱等问题,这些问题会导致程序的可读性和可维护性降低。VBA代码整理软件的功能就是帮助我们解决这些问题。 首先,VBA代码整理软件可以通过自动化的方式删除冗余的代码,并优化代码结构和布局。它可以自动识别和删除无用的代码、重复的代码块和过长的代码行,使代码更加简洁和清晰。此外,它还可以自动对代码进行缩进、格式化和注释,使代码的阅读和修改更加方便。 其次,VBA代码整理软件还可以提供一些有用的工具和功能,帮助用户更好地调试和测试代码。例如,它可以提供代码的调试器,允许用户逐行执行代码、查看变量的值以及跟踪代码执行流程。另外,它还可以自动化生成测试数据和测试环境,帮助用户更好地进行单元测试和集成测试。 最后,VBA代码整理软件通常还具有批量处理的能力,可以同时处理多个VBA文件。这对于需要处理大量代码文件的项目非常有用,可以节省大量的时间和精力。 总之,VBA代码整理软件是一种非常实用的工具,可以帮助我们高效地管理和优化VBA代码。它可以通过自动化删除冗余代码、优化代码结构和布局,提供调试和测试工具,以及进行批量处理,提高我们的编码效率和代码质量。想要下载VBA代码整理软件,可以通过各大软件下载网站进行搜索和下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿放下技术的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值