不确定能否上链接,带附件的,微信公众号,搜【财会人nAzy】,同课程内有链接地址。
———————————————
函数、应用,讲完了,个人感觉掌握前面课程足够快速上手,是否如此,有待时间验证。
接下来全面进入VBA及case,教程只有少量简单易懂的了,而case都是追求0培训直接应用款。
功能
除去ALT+F8直接调用sub命名的宏外,private sub的"隐私"宏前台看不到,需要其他方式设置好调用,用菜单跟工具栏减少操作步骤,将进一步加快您的手速,手速即效率,效率即money,VBA开发出来就是个小软件,让不懂的人做这个事儿,便是价值所在了。
简述
本来想两课就讲完,不过看了看后面的代码,分成三课来讲。各位同学根据自己的需求,太深涩的可以略过,毕竟不是每个人都需要掌握各种调用宏的方式,最简单的无非是之前所说的ALT+F8方式,然而,当您从网上下载一些高手所制作的模板时,Private Sub前台不可见且无法直接调用,同时有很多功能更是在窗体控件内。
1. 回顾一下ALT+F8调用宏
新建一个模块,随便敲出来三个宏。
按ALT+F8调出宏运行窗口。
可以看到增加了Private字样的宏,并不可见,如果您直接输入"tryb"是可以执行的,因此这种方式调用并不常用,即使是自己调试宏时,亦多在VBE窗口通过F5或者F8。
2. 按钮及ActiveX按钮调用
分别插入两个按钮,一个是普通的按钮,一个是ActiveX控件按钮。
(1)普通按钮通过【指定宏】勾稽,即使看不到,我们也可以强行勾稽,这就比ALT+F8更利于其他人使用。
(2)ActiveX按钮,打开设计模式后,双击后可见按钮有自己的定义方式,这款的为窗体控件,可以有多种动作触发方式,比普通按钮提供的功能丰富,宏位于sheet1内,与普通按钮通常调用模块内的宏不同。
至此,新建选项卡与宏形成了勾稽,配合之前讲过的【录制宏】,便可开启自己的个性化便捷功能。
通过按钮调用宏,简单实用,作为入门最适合不过,唯二的缺点是,一不够美观,二按钮是在某个页面内的得点过去才可以看到。
3. 前端应用自定义菜单
通过【开始】-【自定义功能区】-【新建选项卡】
将新建的选项卡拖拽【开始】选型卡之后,并对其重命名、更换图标。
通过前端应用自定义的选项卡,简单易懂,美观也有了,然而仅限自己电脑可以显示,无法分享给其他电脑使用,同时图标有些少哦。
4. 自定义工具栏
自定义工具栏会显示在【加载项】选项卡内,比起【菜单】而言,对于使用人更为简单,双击即可使用且加入【加载项】-【EXCEl加载项】后,每次启动Excel均会自动挂起。
这是我的工具栏:
OK,以下的部分相对生涩了,各位同学凭基础及兴趣鉴赏、学习。
【Excel加载宏(*.xlam)】or【Excel 97-2003加载宏(*.xla)】
Private Sub Auto_Open()
CreateLineStyleButton
End Sub
Private Sub myButton(myCmd As String, myname As String, _
mynum As Integer, mycom As String, mid As Integer)
On Error Resume Next
Set newButton = Application.CommandBars(myCmd).Controls.Add( _
Type:=msoControlButton, Before:=mynum)
With newButton
.Style = msoButtonIcon
.Width = 30
.BeginGroup = False
.Caption = myname
.OnAction = mycom
.FaceId = mid
End With
End Sub
Private Sub MyG(myCmd As String, myname As String, _
mynum As Integer, mycom As String, mid As Integer)
On Error Resume Next
Set NewG = Application.CommandBars(myCmd).Controls.Add( _
Type:=msoControlButton, Before:=mynum)
With NewG
.BeginGroup = True
.Style = msoButtonIcon
.Width = 30
.Caption = myname
.OnAction = mycom
.FaceId = mid
End With
End Sub
Private Sub CreateLineStyleButton()
On Error Resume Next
Dim mynum As Integer, myname As String, mycom As String, mid As Integer
Dim myPosition As Variant
myPosition = msoBarTop
Application.CommandBars("nAzyLineStyle").Delete
Application.CommandBars.Add(Name:="nAzyLineStyle