SUB过程(别怕VBA)

听过VBA代码吗?羡慕能用代码高效办公的人吧!VBA代码远没有大家想象的那么难,跟着小编学一起学吧!
VBA过程就是完成某个任务所需VBA代码的有序组合。VBA中的过程包含子程序过程、函数过程和属性过程三类。
子程序过程也称为Sub过程,使用宏录制器录下来的宏和前面学习的事件过程都属于Sub过程,它是VBA中最常用的一类过程。
函数过程也称为Function过程,一个Function过程就是一个自定义函数。可以像使用工作表函数或VBA内置函数一样,在Excel的工作表或VBA过程中使用Function过程。

Sub 过程写在哪里

通常,我们将除事件过程之外的Sub过程保存在图 7 - 1 所示的模块对象中。
图 7-1 【工程窗口】中的模块类对象

如果把Sub过程保存在模块之外的其他对象,如Worksheet或ThisWorkbook模块中,那 么Sub过程将成为私有过程,只在所属的模块中有效,可能会影响后期Sub过程的使用。

所以,将普通的Sub过程保存在模块对象中,虽然不是必须的,却是一种规范的做法。【工程窗口】中的每个对象都可以保存多个过程。实际使用时,为了便于对过程的管理,可以像给文件分类一样,将不同功能的过程保存在不同的模块中进行分类管理。

Sub 过程的基本结构

VBA中Sub过程的结构为:

过程的作用域

决定它可以在哪个范围内被调用。按作用域分,过程可以分为公共过程和私有过程。

公共过程就像小区里的公共车位。公共厕所、公共汽车……戴着“公共”的帽子,意味着这个东西大家都可以使用。公共过程就像小区里的公共车位,谁的车都可以停。如果一个过程被声明为公共过程,那么工程中所有的过程都可以使用它。要将过程声明为公共过程,过程的第一行代码应写为:

Public Sub 过程名称 ([ 参数列表 ])

或者:

Sub 过程名称 ([ 参数列表 ])

例如:

Public Sub 公共过程 ()

MsgBox ' 我是公共过程!'

End Sub

或者

Sub 公共过程 ()

MsgBox' 我是公共过程!'

End Sub

如果在声明过程时省略Public关键字,这个过程也将被声明为公共过程。

私有过程就像小区里的私家车位。就像给私家车位、专用车位做标识一样,对一些只希望在某个范围才能使用的私有过程,在声明时,应给它带上特殊的标识,以指明它私有的身份。声明私有过程的代码为:

Private Sub 过程名称 ([ 参数列表 ])

在过程中执行另一个过程

下面是一个在工作簿中新建 5 张新工作表的过程:

方法一:直接使用过程名称调用过程

要在过程中调用另一个过程,可以直接将过程名称写成单独的一行代码,如:

Sub 执行另一个过程 ()

ShtAdd

End Sub

如果要执行的过程有参数,应将参数写在过程名称后面,过程名称与参数、参数与参数之间用英文半角逗号隔开,语句结构为:

过程名 , 参数 1, 参数 2,……

方法二:使用 Call 关键字调用过程

另一种调用过程的方法是使用Call关键字,代码结构为:

Call 过程名 ( 参数 1, 参数 2,……)

如果过程没有参数,只需写过程名称,不用写过程名称后的括号,如:

Sub 执行另一个过程 ()

Call ShtAdd

End Sub

方法三:使用 Application 对象的 Run 方法调用过程

用这种方法调用过程的代码结构为:

Application.Run 表示过程名的字符串 , 参数 1, 参数 2, ……

例如:

Sub 执行另一个过程 ()

Application.Run 'ShtAdd'

End Sub

学会了吗?快速提高你的效率吧!从此变“excel一秒超人”!

*注:本文部分图片来源于互联网,仅供学习、交流使用。不具有任何商业用途,若有侵权,请联系删除。
(0)

相关推荐

  • VBA--事件过程

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 在VBA中,当执行"打开工作簿"."选择工作 ...

  • Excel VBA之第三十一课

    大家好,通过上次课程的学习,我们知道通常Sub子过程可以分为事件Sub子过程和通用Sub子过程,并讲解了事件Sub子过程,本节课我们来学习后者. 通用Sub子过程 在通用情况下,通用Sub子过程是由用 ...

  • VBA经典代码 拿来即用 1.6 用Excel实现计时钟的效果

    Excel在我们的日常工作中,最多是用来存储数据,处理数据,但是你知道Excel还可以用来做时钟吗? 当然,我们的这个时钟只能算是电子时钟,不过也是非常实用的 来看看如何实现的吧. 1.首先我们先找一 ...

  • 在Excel状态栏中设置滚动字幕

    Excel的状态栏可以显示不同的信息: 如果我们做的报告,或者Excel应用可以在状态栏中设置滚动字幕,一定可以有不一般的效果

  • Excel VBA之第三十课

    大家好,前面几节课我们学习了有关过程的基础知识,从本节课开始,我们开始具体介绍各个不同的过程.还记得在VBA中过程的类别吗?它们分别是:Sub子过程.Function函数过程.Property过程 前 ...

  • 怎样在 VBE 中编写一个 VBA 过程(别怕VBA)

    听过VBA代码吗?羡慕能用代码高效办公的人吧!不会VBA代码?VBA代码很难写?别怕,Excel 可以自动生成它. 其实无论要在Excel中执行什么操作,都可以通过执行与之对应的VBA代码来实现.VB ...

  • Excel 可自动生成VBA 代码(别怕VBA)

    听过VBA代码吗?羡慕能用代码高效办公的人吧!不会VBA代码?VBA代码很难写?别怕,Excel 可以自动生成它. 其实无论要在Excel中执行什么操作,都可以通过执行与之对应的VBA代码来实现.编写 ...

  • VBA 代码的正常执行,需要注意这几点(别怕VBA)

    听过VBA代码吗?羡慕能用代码高效办公的人吧!不会VBA代码?VBA代码很难写?别怕,Excel 可以自动生成它. 其实无论要在Excel中执行什么操作,都可以通过执行与之对应的VBA代码来实现.VB ...

  • 究竟什么是 VBA(别怕VBA)

    常常听到编程可以提高工作效率吧?常常听到Excel多么强大吧?常常听到VBA多么厉害吧?所以,话说回来,究竟什么是 VBA? VBA,是我们和 Excel 沟通的一种方式 要在Sheet 1 工作表的 ...

  • VBE——编写 VBA 代码的地方(别怕VBA)

    听过VBA代码吗?羡慕能用代码高效办公的人吧!不会VBA代码?VBA代码很难写?别怕,Excel 可以自动生成它. VBA 过程在哪编写 使用宏录制器录下的宏,还有一个称呼--VBA过程.要使用VBA ...

  • 马尾神经损伤的患者在治疗过程中,最怕什么?

    马尾神经损伤并不是一个很好治疗的疾病,它的症状处于多元化,并不会以单一的症状出现.大多数都是存在下肢感知感觉障碍,大小便排解的问题,再一个就是男性患者可能还会出现性功能障碍.足下垂等症状.从马尾神经损 ...

  • 买新车如何验车?手把手教你验车,过程超详细,学会了4S店都怕你

    买新车如何验车?手把手教你验车,过程超详细,学会了4S店都怕你

  • 什么是VBA过程的概念和类别?

    作者:随风,最近精神状况颇为不佳,以听下曲提神度日. 分列式进行曲 中国人民解放军军乐团 - 民兵进行曲 上次我们提到,一个过程是由很多可执行语句组成的语句块,那么我们日常交流是有语言规则的,VBA代 ...

  • Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

    今天和大家说的是VBA代码执行的方式,举个例子啊,我们的代码执行过程一般都是从SUB 开始,到end sub 结束,这个过程是顺其自然的.但是在我们有些时候,并不需要他按照流程执行,而是需要跳过某些语 ...