【Office技巧】宏

VBA-宏基本用法

今天就来港下office里最藏在深闺人未识的功能——宏。

一般听说过“宏”的电脑小白们,对“宏”的用法还停留在【录制】,但实际上“宏”是巨硬(Microsoft)为了解决广大欲求不满的Office用户对功能需求而整合到Office套装里的开发环境。它主要有以下三种用法:

1、定义新功能,并赋值到工具栏/表中按钮上

2、自定义新的函数

3、自动化操作(最被广泛使用的功能)

平常小白们用的【录制】就是上面的第三种用法的一部分!


【Office技巧】宏_第1张图片

要使用【宏】,最好调出“开发工具”选项卡,不然每次都在“视图”里点那么小个头的按钮、或者用【Alt+F11】打开VB编辑器 都挺麻烦的。

【视图】-宏:

【Office技巧】宏_第2张图片

【开发工具】选项卡

【Office技巧】宏_第3张图片

Office2007中调出:

【Office技巧】宏_第4张图片

Office2010~2016中调出:

【Office技巧】宏_第5张图片

都弄粗来之后,就可以开干了。

【Office技巧】宏_第6张图片
【Office技巧】宏_第7张图片
【Office技巧】宏_第8张图片

在VB编辑器的代码区试下输入“哈喽,我的”,    代码内容:

Sub 圣创杂学堂()

MsgBox "Hello, world !"

End Sub

    可以直接在ThisWorkbook里,也可以另外加个模块:

【Office技巧】宏_第9张图片
【Office技巧】宏_第10张图片

    可在两个地方点击【运行】,1、代码区:

【Office技巧】宏_第11张图片

2、【开发工具】-【宏】-【执行】:

【Office技巧】宏_第12张图片



用途01

自定义工具栏按钮功能

【Office技巧】宏_第13张图片
【Office技巧】宏_第14张图片
【Office技巧】宏_第15张图片
【Office技巧】宏_第16张图片

用途02

表中按钮功能指派

【Office技巧】宏_第17张图片
【Office技巧】宏_第18张图片
【Office技巧】宏_第19张图片

用途03

自定义新的函数

下面函数是计算输入的第一个参数和今天一共相距多少天/周/月/季度,复制粘贴到代码区:

    代码内容:

Public Function YearEnd(inDate As Date, n As Integer)

If Not IsDate(inDate) Then

MsgBox "Please input a date value."

 Return

End If

Select Case n

 Case 1:

YearEnd = "相距" & DateDiff("D", inDate, Date) & "天"

 Case 2:

YearEnd = "相距" & DateDiff("ww", inDate, Date) & "周"

 Case 3:

YearEnd = "相距" & DateDiff("m", inDate, Date) & "月"

 Case 4:

YearEnd = "相距" & DateDiff("q", inDate, Date) & "季度"

 End Select

End Function

【Office技巧】宏_第20张图片
【Office技巧】宏_第21张图片

用途04

自动化操作

这个也是最为广泛地使用的,最简单的就是【录制】宏,复杂的就是在代码区里写VB代码,然后运行。

【Office技巧】宏_第22张图片

    蛋素,你先看下录制下来的宏是啥样的:

【Office技巧】宏_第23张图片

也就是说,你想用这个宏来照样填充其他单元格是不行滴,它会一直填充B1:B4

【录制】的宏有两个特点:

【录制】的并不是你的“鼠标键盘操作”,而是Excel内容的更改。(可以看到上面的代码完全没有“时间”延迟,也没有“输入内容”的,而是直接将某个单元格赋值!)

【录制】的宏只适用于在大量相同的表格上进行重复性的操作。因为它会真实地记录你操作的单元格位置(如B1:B4)

    那宏的自动化操作就没其他用途了么?

    有!

高手们都是用这个功能直接写代码来完成的。鉴于本公众号主要面向不懂编程或者入门级编程爱好者,不深入探究VB语法。

当想要哪些自动化操作时,大家自觉度娘。


【Office技巧】宏_第24张图片

微信搜索公众号@圣创杂学堂,即可获取每天更新

【Office技巧】宏_第25张图片

原创不易,转载请保留出处。

你可能感兴趣的:(【Office技巧】宏)