vba基础入门 (vba录制宏怎么修改变量参数)

vba宏程序基础入门教程,vba录制宏教程

新手学习VBA,一定是从录制宏开始,才是最快的路径。

即使是有经验的老手,录制宏也是不可缺少的代码生成方式。

录制宏,可以让用户不需要背熟对象模型的所有对象、方法、属性、事件,而简单的按按键盘,点点鼠标就可以完成大量代码的生成,然后根据经验,对代码做精简和提炼封装,就是高效的VBA代码。

废话少说,开始录制

1.1、改变一段文字的格式(以Microsoft Word 2010为例)

a.先打开开发工具选项

打开这个之后,上方Ribbon菜单界面才会有“开发工具”菜单

vba宏程序基础入门教程,vba录制宏教程

文件-选项-自定义功能区-勾选开发工具

b.强烈建议打开“显示所有格式标记”

打开这个选项之后,所有文档里的打印字符和非打印字符都会展示出来,这样方便你更清除的认识你的Word文档结构。

vba宏程序基础入门教程,vba录制宏教程

开始-选项-显示-显示所有格式标记

c.新建一个Word文档,随机生成一些文字:

vba宏程序基础入门教程,vba录制宏教程

d.然后鼠标选中文字,并点击 开发工具-录制宏

为什么要选中文字再开始?

哪里那么多问题,让你选你就选,哈哈。

因为,进入录制宏状态后,鼠标就不能在Word文档区域操作了,如果需要变更位置或者选择文字,就只能通过纯键盘操作了。

当然,如果你跟本人一样,具备全程无鼠标办公的无(shǎ)敌(diǎo)实力的话,你也可以不按套路出牌。

如果有空,我们以后也可以扒一扒最实用的键盘操作技能。

vba宏程序基础入门教程,vba录制宏教程

开始录制

vba宏程序基础入门教程,vba录制宏教程

确认录制

Normal.dotm是啥?

你就把它理解为一个默认的通用的模板,所有的用户文档在打开时默认都会附带打开这个货,所以你一些常用的代码都可以放在这个模板里。

这里我们就选择录制到我们自己的文档里,后续修改完善后,仍然可以复制粘贴到通用模板中去。

e.修改内容包括:字体、加粗、文字大小、文字颜色

vba宏程序基础入门教程,vba录制宏教程

录制完成的代码如下:

Sub 第1个录制宏()
' 第1个录制宏 宏
 With Selection.Font
 .NameFarEast = "新宋体"
 .NameAscii = "Times New Roman"
 .NameOther = "Times New Roman"
 .Name = "+中文正文"
 .Size = 9
 .Bold = True
 .Italic = False
 .Underline = wdUnderlineNone
 .UnderlineColor = wdColorAutomatic
 .StrikeThrough = False
 .DoubleStrikeThrough = False
 .Outline = False
 .Emboss = False
 .Shadow = False
 .Hidden = False
 .SmallCaps = False
 .AllCaps = False
 .Color = 10498160
 .Engrave = False
 .Superscript = False
 .Subscript = False
 .Spacing = 0
 .Scaling = 100
 .Position = 0
 .Kerning = 1
 .Animation = wdAnimationNone
 .DisableCharacterSpaceGrid = False
 .EmphasisMark = wdEmphasisMarkNone
 .Ligatures = wdLigaturesNone
 .NumberSpacing = wdNumberSpacingDefault
 .NumberForm = wdNumberFormDefault
 .StylisticSet = wdStylisticSetDefault
 .ContextualAlternates = 0
 End With
End Sub
做一下精简如下:
Sub 第1个录制宏()
 With Selection.Font
 .NameFarEast = "新宋体"
 .NameAscii = "Times New Roman"
 .Size = 9
 .Bold = True
 .Color = 10498160
 End With
End Sub

怎么精简,这个就是经验了,本文主要讲IDE,代码精简暂时不讲。

f.怎么使用刚才录制的这个宏?

①宏列表访问执行

如下图操作,或者按快捷键Alt+F8,直接弹出宏列表界面。

vba宏程序基础入门教程,vba录制宏教程

②加入快捷工具栏

vba宏程序基础入门教程,vba录制宏教程

vba宏程序基础入门教程,vba录制宏教程

vba宏程序基础入门教程,vba录制宏教程

③定义快捷键

vba宏程序基础入门教程,vba录制宏教程

现在如果要使用这个宏,选定文本,然后快捷Alt+F8,或者点击快捷工具栏的图标,或者按键Alt+1,都可以完成执行。

1.2、修改表格的边框(以Excel为例)

vba宏程序基础入门教程,vba录制宏教程

Excel里的个人宏工作簿(Personal.xlsb)跟Word里的Normal.dotm很相似。

录制过程省略,录制代码如下:

Sub 宏1()
 Selection.Borders(xlDiagonalDown).LineStyle = xlNone
 Selection.Borders(xlDiagonalUp).LineStyle = xlNone
 With Selection.Borders(xlEdgeLeft)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 With Selection.Borders(xlEdgeTop)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 With Selection.Borders(xlEdgeBottom)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 With Selection.Borders(xlEdgeRight)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 With Selection.Borders(xlInsideVertical)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 With Selection.Borders(xlInsideHorizontal)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
End Sub
然后精简如下:
Sub 表格边框()
 Dim i As Long
 For i = 7 To 12
 With Selection.Borders(i)
 .LineStyle = xlContinuous
 .ColorIndex = 0
 .TintAndShade = 0
 .Weight = xlThin
 End With
 Next i
End Sub

后续使用和Word相比,前两种(Alt+F8,快速工具栏)是一样的操作,不赘述

第3种定义快捷键,略有不同,相比Word的快捷键自定义,Excel里的快捷键自定义比较弱,能够定义的快捷键组合比较受限。

vba宏程序基础入门教程,vba录制宏教程

当然,所有office组件都可以通过代码加入快捷键,只不过大家提供的接口不一样。

并且,代码添加的快捷键可以不受限制。

在Excel VBA里添加快捷键的基本方法是Application.OnKey

在Word VBA里添加快捷键的基本方法是KeyBindings.Add

具体的实现,以后再慢慢扒。