课程来源:王佩丰老师的《王佩丰学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模块中使用