Sub:VB里最常用的替换截取核心指令

Sub:VB里最常用的替换截取核心指令

VB中的Sub是子过程,是用来封装一段重复代码、实现特定功能的核心单元,它只执行操作、不返回任何数值,新手写VB代码最先掌握、也最容易用混的就是它。很多人分不清它和Function的区别,写代码时报错却完全找不到原因。

它的本质就是一段独立的代码模块,专门用来完成单一、具体的任务。你可以把整个VB程序想象成一台机器,Sub就是机器里一个个独立的小零件,每个零件只负责一件事,比如弹窗提示、清空文本框、读取表格数据,各司其职,互不干扰。

不用它写代码,你的程序就会堆满重复语句,改一个细节就要通篇修改。

Sub到底怎么用?看最基础的写法

标准的Sub结构特别固定,开头声明、中间写逻辑、结尾收尾。完整格式就是 Sub 过程名() ,末尾必须搭配 End Sub,这是VB的硬性规则,少一个都会直接编译报错。

举个最接地气的例子,写一个弹出提示框的子过程:

Sub 弹窗提示()
MsgBox "操作完成"
End Sub

写完之后,只要在程序任意位置输入【弹窗提示】,就能触发这段代码,不用反复复制粘贴MsgBox语句。这就是Sub最大的价值:代码复用。

新手最容易踩的致命误区

绝大多数新手翻车,都是因为把Sub和Function搞混。这俩看着几乎一样,核心差距却天差地别。

Sub 无返回值。

Function 有返回值。

之前帮学弟调试代码,印象特别深。他写了一个计算数字总和的Sub,写完一直报错,界面始终读取不到计算结果。折腾了二十多分钟,才发现他用Sub写计算逻辑,却试图用变量接收返回数据,系统直接判定语法错误,程序卡死闪退。

这就是典型认知错误。Sub只干活,不输出结果,想要得到计算数值、查询数据这类返回内容,必须用Function。

Sub的两个关键特性,一定要记牢

  • 可以接收参数:Sub不是只能写固定逻辑,能在括号里传入变量,让代码更灵活。比如 Sub 弹窗提示(提示文字 As String),调用时就能自定义不同提示内容,适配不同场景。
  • 可直接调用:无需赋值、无需接收数据,直接写过程名就能执行,代码简洁度拉满,适配按钮点击、页面加载等绝大多数VB常用场景。

很适合界面交互逻辑。

这也是VB窗体开发里,90%的按钮点击事件都是Sub的原因。按钮点击本身就是执行一个动作,不需要返回任何数据,完美适配Sub的特性。

最后分清一个核心场景

写代码前先问自己一句:这段代码需要出结果吗?

不需要,只用Sub。

需要,改用Function。

日常写VB窗体程序,清空输入框、关闭窗口、弹窗提醒、刷新列表,全部用Sub。

后续写VB代码时,先根据功能需求判定过程类型,再动手写代码。

了解更多百科知识请访问 百科