Excel VBA编程

前两天我朋友找我帮忙,让给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!"
在这里插入图片描述

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值