【EXCEL_VBA_基础知识】09 自定义函数和带参数的过程

课程来源:王佩丰老师的《王佩丰学VBA视频教程》,如有侵权,请联系删除!

目录

[1. 自定义函数](#1. 自定义函数)

[1.1 注意事项:](#1.1 注意事项:)

[1.2 创建自定义函数](#1.2 创建自定义函数)

[1.3 工作表使用VBA函数(自定义函数作为桥梁)](#1.3 工作表使用VBA函数(自定义函数作为桥梁))

[2. 带参数的过程](#2. 带参数的过程)

[2.1 注意事项](#2.1 注意事项)

[2.2 创建带参数的过程](#2.2 创建带参数的过程)

[2.3 调用带参数的过程](#2.3 调用带参数的过程)

[3. 使用加载宏工具](#3. 使用加载宏工具)

[3.1 注意事项](#3.1 注意事项)

[3.2 操作步骤](#3.2 操作步骤)


1. 自定义函数


1.1 注意事项:

1. sub - 过程, function - 函数,唯一区别:function有返回值

2. function函数名变量的值为function函数的返回值!

1.2 创建自定义函数

vbnet 复制代码
Function Sex_Confirm(str As String)
If str = "男" Then
    Sex_Confirm = "先生"
Else
    Sex_Confirm = "女士"
End If
End Function

1.3 工作表使用VBA函数(自定义函数作为桥梁

vbnet 复制代码
Function Extract_Str(origin_str As String, div_str As String, i As Integer)

'origin_str 待拆分字符串
'div_str 分割符号
'i 取哪组

Extract_Str = VBA.Split(origin_str, div_str)(i - 1)

End Function

2. 带参数的过程


2.1 注意事项

1. 带参数的过程不在宏命令显示,需打开VBA模块才能查看!

2. 带参数的过程有参数值,无返回值(本质是过程)

2.2 创建带参数的过程(新建工作表 - 不重名)

vbnet 复制代码
Sub Create_WorkSheet(sht_name As String)
' 创建新工作表,重名则不创建

Dim temp_sht As Worksheet

For Each temp_sht In Sheets

    If temp_sht.Name = sht_name Then
    
        Exit Sub '有重名则退出过程
        
    End If

Next

    Sheets.Add after:=Sheets(Sheets.Count) '新建工作表
    Sheets(Sheets.Count).Name = sht_name '重命名工作表

End Sub

2.3 调用带参数的过程

vbnet 复制代码
Sub Sht1_Create_WorkSheet()

 '以Sheet1的A8单元格值新建并重命名工作表
Call Create_WorkSheet(Sheet1.Range("a8"))

End Sub

3. 使用加载宏工具


3.1 注意事项

1. 保存XLA文件时无需更改路径(默认保存至EXCEL的宏加载库)

2. 删除XLA文件前需停止加载,否则无法删除

3.2 操作步骤

1. 把代码放在"代码库"里(XLA文件)

2. 告诉EXCEL每次打开文件都加载

3. 设置宏按钮 或 在VBA模块中使用

相关推荐
用户2986985301412 小时前
Python 实现 Excel 到 ODS、XPS、PostScript 及 PDF/A-1b 的格式转换
后端·python·excel
本地化文档12 小时前
xlwings-docs-l10n
python·github·excel·gitcode·sphinx
用户298698530142 天前
在 React 中拆分 Excel 文件:从工作表到行列的实践
javascript·react.js·excel
不坑老师2 天前
怎么在Word中制作汉字书写笔顺——不坑盒子汉字笔顺步骤在小学低段识字教学中的应用
前端·数据库·人工智能·word·excel·office
不坑老师3 天前
Excel总表如何按班级拆分并分别发送?
前端·数据库·人工智能·excel·ppt·office
AC赳赳老秦3 天前
Excel 动态仪表盘制作:用 OpenClaw 自动处理数据、生成交互式图表并实时更新仪表盘
大数据·服务器·后端·测试用例·excel·deepseek·openclaw
得闲喝茶3 天前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel
AI刀刀4 天前
豆包智能体对话导出后,如何构建长期归档与高效检索体系?
android·人工智能·word·excel·ai导出鸭
ZX0X学习中4 天前
一句话让 AI 生成 Excel 多文件合并工具:码道 CLI 实战
人工智能·excel·ai编程·华为云码道