Excel VBA入门(便可)
以前就有了解过WPS Office的宏功能,而且mark了一下,昨天偶然百度到了门路,这里把一些过程简单总结一下,分享给你们。编程
1.vba简介 设计模式
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言——–Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。数组
2.所需软件:markdown
-
WPS Office (10.1.0.7224)编程语言
也就是目前2018年4月14日安装的最新版本,由此能够看出,和wps版本无关~函数
-
vba提取自WPS2012专业加强版
下载地址网上不少,贴出来我在百度云盘保存的
连接:https://pan.baidu.com/s/1HuBHlDmBfYH3zpvNo9c8yg 密码:xr8j工具
进阶技能:VB语言
VBA中有对象、方法、属性。理解这些是学习VBA的基础。
一、对象:工做簿、工做表、单元格、行、列等
二、属性:相应对象的属性。如工做表名称、单元格的行高等属性通常理解为对象拥有的静态特性。
三、方法:对相应对象所执行的动做称为对象的方法。如单元格移动、单元格删除内容等。
3.安装配置学习
- 安装vba,双击vba6chs傻瓜安装便可
4.简单入门操做开发工具
- 教程:
Excel VBA 2013视频教程(此连接被noblogs墙)
我没看,感受确定比较老,若是须要深刻研究去图书馆找本书好了0.0 -
简单使用spa
- 建立一个宏
- MsgBox
- 工做簿和工做表对象
- Range对象
- 变量
- IF Then语句
- 循环
- 宏错误
- 字符串操做
- 日期和时间
- 事件
- 数组
- 函数和子函数
- 应用对象
- ActiveX控件
- 用户窗体
1. 建立宏
首先注意:保存的文件格式是Microsoft Office Excel 2007 启用宏的工做簿 (.xlsm),不然将出现如下提示
点击否,再选择正确的xlsm格式保存便可(下图中选中的格式)
而后是建立的过程(举个栗子)
新建一个Macro_test_01.xlsm
点击宏快捷键(Alt+F8)建立一个宏,赋个名字,点击“建立”按钮
工程界面,初始头已经给出
咱们加了一句
Range("A1").Value = "Hello,Macro!"
意思是给单元格A1赋值为”Hello,Macro!”
点击上面的运行快捷键(F5),返回excel工做簿界面看效果,这样就完成了咱们第一个macro的建立,以后知道怎么开始了,针对问题到网上搜代码案例理解修改就行了,估计不会到学习语法和函数的地步0.0,若是到这个学习地步的话,我用冰点下载了百度一个文档,收藏在了百度云盘里VBA语法笔记-来自百度
连接:https://pan.baidu.com/s/1WZi8Hzwqfm9dTV22VUvSXA 密码:yhdq
实际上,直接搜索VB语言相关的代码就能够获得更多信息
2. Msgbox
MsgBox是Visual Basic和VBS中的一个函数,功能是弹出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪个按钮。
“MsgBox”即为“Message Box”的缩写,在英语中意为“信箱”。
『例1』单击按钮弹出对话框删除全部内容
step1:建立命令按钮,开发工具->命令按钮,在工做表合适位置拉出按钮
step2:双击按钮出现工程界面,输入代码以下:
Dim answer As Integer answer = MsgBox("要清空工做表么?", vbYesNo + vbQuestion, "清空工做表") If answer = vbYes Then Cells.ClearContents Else 'do nothing End If
运行便可看到效果,在工做表中随便输入随机数据,单击按钮便可实现清除工做表的效果
step3:拓展
看到下拉框里面的内容否?能够将动做设置成这些,根据命名就能够看出做用;另外,须要作其余效果搜一下Msgbox,看看相关函数就能模仿出其余效果。
『例2』单击弹出输入框向A1输入一个数据
Dim myValue As Variant
myValue = InputBox("输个啥?", "InputBox函数", 1) Range("A1").Value = myValue
step1:建立按钮,输入代码,运行调试
step2:退出设计模式,单击命令按钮2实现效果
step3:拓展
第一句,声明Variant类型的变量myValue,在这里使用Variant类型的变量,由于Variant变量能够保存任何类型的值。这样用户能够输入文字,数字等。
第二句,InputBox函数具备更多可选参数。提示+标题+具备默认值的输入框。若是没有提供其余输入,将使用默认值。
3.工做簿和工做表对象
4. Range对象
5. 变量
6. IF Then语句
7. 循环
Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer Cells(1, 2).Value = Cells(1, 1).Value uniqueNumbers = 1 toAdd = True For i = 2 To 10 For j = 1 To uniqueNumbers If Cells(i, 1).Value = Cells(j, 2).Value Then toAdd = False End If Next j If toAdd = True Then Cells(uniqueNumbers + 1, 2).Value = Cells(i, 1).Value uniqueNumbers = uniqueNumbers + 1 End If toAdd = True Next i
8. 宏错误
9. 字符串操做
10. 日期和时间
11. 事件
12. 数组
13. 函数和子函数
14. 应用对象
15. ActiveX控件
- 复选框
If CheckBox1.Value = True Then Range("B4").Value = 1 If CheckBox1.Value = False Then Range("B6").Value = 0
- 文本框
添加俩按钮,一个向文本框录入
TextBox1.Text = "数据录入成功!"
一个清除文本框信息
TextBox1.Value = ""
- 列表框
将列表框连接到单元格A5,设计模式右键单击列表框->属性->LinkedCell填A5
设计模式->右键单击列表框->查看代码->Project->ThisWorkbook->左下拉Workbook右Open,填写下列代码对列表框进行添加
With Sheet1.ListBox1 .AddItem "Turkey" .AddItem "Tokyo" .AddItem "Paris" End With
清除(我把清除都放在了cls按钮里,方便)
ListBox1.Clear
效果
- 组合框
操做和列表框基本相同 - 选项按钮
实验到这里,已经很简单了,不过多解释
If OptionButton1.Value = True Then Range("A3").Value = 233
If OptionButton2.Value = True Then Range("A6").Value = 666
- 数值调节按钮
Range("A5").Value = SpinButton1.Value
属性设置
效果
16. 用户窗体
//未完待续