• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3.添加控件(比如添加一个按钮控件)
    宏代码写完后,需要在excel中添加按钮,然后把按钮绑定上自己需要的宏:
    开发工具 > 插入 > 表单控件中的按钮
    在这里插入图片描述
    按钮名称可以自定义,然后右键按钮 > 指定宏 > 添加刚才写的宏,有button1和button2,选择自己需要的一个绑定就行
    在这里插入图片描述

    到这里,一个按钮功能已经完成,我们可以测试一下
    在这里插入图片描述

    4.保存文件
    这里保存文件还不能直接Ctrl+S保存,没用,当第二次打开文件时,之前写的宏代码就没了。
    写了宏代码的文件,需要另存为,在保存类型中选择"Excel 启用宏的工作簿(*.xlsm)"选项,这样保存的文件,在第二次打开时,宏代码依旧存在。
    在这里插入图片描述

    Excel VBA编程简介到这里完成,简单说就是,设置 > 开发 > 使用 > 保存,至于具体的VBA代码怎么写,不会开发的同学我个人是强烈推荐b站的,特别适合新手学习,会开发的同学我估计最多花个几分钟时间,大概看看VBA的语法,变量,函数这些语言特性就自己会弄了。

    最后,预祝童鞋们都能看到"Hallo Word!"
    在这里插入图片描述

  • 相关阅读:
    MySQL——存储引擎
    nginx启动报错纠正
    cmmi3级和5级之间的区别是什么?
    【Python3】【力扣题】202. 快乐数
    【第十五篇】Camunda系列-任务回退【驳回回退】
    定制开发一款家政小程序,应知应会
    候选公示!高工智能汽车金球奖第二批入围年度产品/方案亮相
    【Vue.js】快速入门与工作生命周期的使用
    使用C#监控选定文件夹中文件的变动情况
    Oracle物理体系结构
  • 原文地址:https://blog.csdn.net/qq_42119514/article/details/131032742