了解子例程(Microsoft Excel)
在Excel中编写宏时,您使用一种称为Visual Basic for Applications(VBA)的编程语言。它基于BASIC编程语言,具有特定于Excel的扩展名。该语言的功能之一是能够在程序中使用子例程。例如,考虑以下VBA宏:
Sub Macro1() TestSub End Sub
Sub TestSub() MsgBox "In the subroutine" End Sub
这个简单的宏(Macro1)除了调用子例程(TestSub)外什么也不做,后者又显示一个消息框,通知您该子例程在子例程中。当您单击确定以关闭该消息框时,子例程结束,并将控制权返回给主程序。您可以根据需要在VBA程序中具有任意数量的子例程。每个程序的目的都是执行共同的任务,因此您不必一直重写相同的代码。
您还可以将参数传递给子例程。然后,您的子例程可以对这些参数进行操作。例如,考虑以下宏:
Sub Macro1() A = 1 PrintIt A End Sub
Sub PrintIt(x) MsgBox "Value: " & x End Sub
这是一个简单的宏,它设置一个变量,然后将其通过子例程调用传递给PrintIt。此子例程在消息框中显示变量的值,然后(按OK后)返回到调用程序。
请注意,子例程不使用与传递时相同的变量名。这是因为VBA重新分配了x的值(子例程期望接收的值),使其与A的值(程序传递给子例程的值)匹配。在将参数传递给子例程时要记住的重要一点是,程序必须传递与子例程期望数量相同的参数,并且参数必须具有匹配的类型且顺序正确。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2258)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: