前两天我朋友找我帮忙,让给excel做个按钮功能,方便他们表格统计,我晚上研究了一下给他做出来了,这里记录一下入门操作和大概思路,具体怎么写VBA的代码我就不记录了,那玩意儿看教程去吧,也不是这一篇博客能讲完的,对于做开发的来说很简单,看一下就会了,不会做开发的同学就去B站找VBA的教程,跟着教程一步一步学吧。
vba编程,简单来说就是excel自带的一种编程语言,是用来方便扩展excel的功能及业务的,让用户完全可以自定义功能,自己开发出自己想要的东西,比如你想加个按钮,加个弹框,用最简单的操作来实现excel原本复杂且重复的操作。
1.想要实现vba开发,首先得要excel支持这个功能,默认一般是关闭的,所以需要我们先把开发工具这个选项给打开:
文件 > 选项 > 自定义功能区 > 勾选开发工具(勾选保存后,在excel文件上方,就可以看到开发工具的选项)
开发工具开放后,还需要启用宏:
文件 > 选项 > 信任中心 > 信任中心设置 > 宏设置 > 选择"启用所有宏"
2.添加宏
所谓的宏,也懒得讲什么官话,网上一搜就有,简单说就是,你就理解成一个功能代码块,一个宏,就是一个功能的代码。
比如现在的需求是做两个按钮,每个按钮有不同的功能,首先要做的就是添加宏代码,选择:
开发工具 > 宏
或者按Alt+F11也行,会弹出开发界面,下图中添加了button1和button2两个宏
写代码这里可以大概分为三个地方:
附上代码:
Sub button1()
'获取所选单元格
Dim x As Integer, y As Integer, tableCell As String
x = Selection.Row()
y = Selection.Column()
f = Replace(Mid(Cells(1, y).Address, 2, 2), "$", "") ' 由列数得到列标
tableCell = f & x
'给单元格填写系统当前时间
Dim finishTime As String
finishTime = Range(tableCell).Value
If finishTime = "" Then
finishTime = Now
Range(tableCell).Value = finishTime
End If
End Sub
3.添加控件(比如添加一个按钮控件)
宏代码写完后,需要在excel中添加按钮,然后把按钮绑定上自己需要的宏:
开发工具 > 插入 > 表单控件中的按钮
按钮名称可以自定义,然后右键按钮 > 指定宏 > 添加刚才写的宏,有button1和button2,选择自己需要的一个绑定就行
到这里,一个按钮功能已经完成,我们可以测试一下
4.保存文件
这里保存文件还不能直接Ctrl+S保存,没用,当第二次打开文件时,之前写的宏代码就没了。
写了宏代码的文件,需要另存为,在保存类型中选择"Excel 启用宏的工作簿(*.xlsm)"选项,这样保存的文件,在第二次打开时,宏代码依旧存在。
Excel VBA编程简介到这里完成,简单说就是,设置 > 开发 > 使用 > 保存,至于具体的VBA代码怎么写,不会开发的同学我个人是强烈推荐b站的,特别适合新手学习,会开发的同学我估计最多花个几分钟时间,大概看看VBA的语法,变量,函数这些语言特性就自己会弄了。
最后,预祝童鞋们都能看到"Hallo Word!"