Excel VBA 入门到精通(五):过程与函数
🎯本章目标:掌握 VBA 过程与函数的定义和使用,理解参数传递机制,学会模块化编程思想,提升代码复用性。一、模块化编程概述1.1 为什么要模块化?想象你要装修房子,如果所有事情都自己从头做——挖土、烧砖、做家具……那将是一场灾难。更好的方式是:把任务分解成小模块,或者使用现成的模块。编程也一样,模块化让代码:可复用:一个功能写一次,到处使用易维护:修改一处,全局生效易测试:独立测试每个模块易协作:团队分工更清晰┌─────────────────────────────────────────────┐ │ 模块化编程思想 │ ├─────────────────────────────────────────────┤ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 模块 A │ │ 模块 B │ │ 模块 C │ │ │ │ 输入处理 │ │ 数据计算 │ │ 结果输出 │ │ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │ │ │ │ │ │ └─────────────┼─────────────┘ │ │ ▼ │ │ ┌───────────┐ │ │ │ 主程序 │ │ │ └───────────┘ │ │ │ └─────────────────────────────────────────────┘1.2 VBA 的代码单元单元关键字返回值用途Sub 过程Sub无执行操作Function 函数Function有计算返回值Property 过程Property可选类模块中定义属性二、Sub 过程2.1 基本语法[Public|Private] Sub 过程名([参数列表]) ' 代码语句 End Sub组成部分:部分说明Public公有,所有模块都可访问(默认)Private私有,仅本模块可访问过程名符合命名规范的名称参数列表可选,传递给过程的变量2.2 无参数过程Sub Greeting() MsgBox "欢迎学习 VBA!", vbInformation, "问候" End Sub调用方式:Sub TestCall() ' 方式 1:直接使用过程名 Greeting ' 方式 2:使用 Call 关键字 Call Greeting End Sub2.3 带参数过程Sub GreetUser(userName As String, Optional title As String = "先生/女士") MsgBox "你好," title " " userName "!" vbCrLf _ "欢迎学习 VBA!", vbInformation, "问候" End Sub Sub TestGreetUser() GreetUser "张三" ' 使用默认称呼 GreetUser "李四", "女士" ' 指定称呼 Call GreetUser("王五", "博士") ' 使用 Call End Sub2.4 实际应用示例示例:格式化单元格Sub FormatCell(targetCell As Range, fontSize As Integer, _ Optional fontColor As Long = vbBlack, _ Optional isBold As Boolean = False) With targetCell .Font.Size = fontSize .Font.Color = fontColor .Font.Bold = isBold End With End Sub Sub TestFormatCell() FormatCell Range("A1"), 16, vbRed, True FormatCell Range("B1"), 14 ' 使用默认颜色和非粗体 FormatCell Range("C1"), 12, , True ' 使用默认颜色,但设为粗体 End Sub三、Function 函数3.1 基本语法[Public|Private] Function 函数名([参数列表]) [As 返回类型] ' 代码语句 函数名 = 返回值 ' 或者:函数名 = 表达式 End Function3.2 简单函数Function AddNumbers(a As Integer, b As Integer) As Integer AddNumbers = a + b End Function Sub TestAddNumbers() Dim result As Integer result = AddNumbers(10, 20) MsgBox "10 + 20 = " result End Sub3.3 在 Excel 工作表中使用函数✅ 公有函数可以在 Excel 单元格中直接使用:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2501563.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!