网站首页 > 技术文章 正文
Hello,大家好,今天跟大家分享几个比较实用的自定义函数,都是利用VBA代码自己定义,操作非常的简单,大家只需要打开VB编辑器,然后粘贴代码即可,废话不多说,下面我们就来看下都有哪些代码。
一、输入数据自动锁定
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Sheet1.Unprotect Password:="123"
If Target.Value <> "" Then
Target.Locked = True
Sheet1.Protect Password:="123"
End If
End Sub
这个代码的作用是在输入数据后,自动锁定Excel工作表。这样的话,我们就不能修改录入的数据。只有点击【审阅】找到【取消工作表保护】录入正确的密码才可以修改数据
Sheet1.Unprotect Password:="123"
Sheet1.Protect Password:="123"
我们想要使用只需修改上面的2行代码即可。默认密码为【123】,大家可以根据自己需求来输入密码,密码需要更改2次,Sheet1是用于指定锁定那个工作表的,大家也需要根据自己的实际情况来修改下,这个Sheet1是VB编辑器中对应的sheet名称,在左侧的窗口可以看到
二、根据批注提取数据
Public Function pizhu(i As Range)
Application.Volatile True
pizhu = i.Cells.Comment.Text
End Function
这个代码的作用是自定义一个名称为【pizhu】的函数,我们需要再点击鼠标右键,插入【模块】,将代码粘贴到模块中,它可以帮助我们快速的将批注中的数据提取出来
语法:=pizhu(需要提取的单元格)
需要注意的是,如果单元格没有批注的话,函数就会返回#VALUE!这个错误值,所以我们还需要使用IFERROR函数来屏蔽一下错误值。
三、根据颜色求和
Function SumColor(i As Range, ary1 As Range)
Dim icell As Range
Application.Volatile
For Each icell In ary1
If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
SumColor = Application.Sum(icell) + SumColor
End If
Next icell
End Function
这个代码的作用是根据颜色求和,定义方法与提取批注是一模一样的,函数的名字为SumColor
语法:= SumColor(想要求和的颜色,求和的数据区域)
第一参数:直接在单元格中选取对应的颜色即可。
第二参数:选择需要求和的数据区即可
四、根据颜色计数
Function CountColor(x As Range, ary2 As Range)
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = x.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next
End Function
它的用法跟SumColor一样,作用是根据颜色来进行计数。
语法:= CountColor(想要计数的颜色,计数的数据区域)
第一参数:直接在单元格中选取对应的颜色即可。
第二参数:选择需要计数的数据区即可
以上就是今天分享的4组VBA代码,都是一些工作中比较常见的例子,大家直接粘贴使用即可,有一点需要注意的是:如果你想要保存这些VBA代码,就需要将文件的格式另存为【XLSM】,这个格式是可以保存宏代码的。
以上就是今天分享的全部内容,怎么样,你学会了吗?
我是Excel从零到一,关注我,持续分享更多Excel技巧
以上内容,在我的专栏中都有讲到,如果你想要学习Excel,可以看下我的专栏.
课程已经更新了129个章节,后期还会陆续新增章节,专栏永久有效,无时间限制,并且配备了课件
猜你喜欢
- 2024-09-18 七牛对象存储(七牛对象存储价格)
- 2024-09-18 PHP 10个最具影响力的新功能(php 10个最具影响力的新功能有哪些)
- 2024-09-18 隐藏在一段文字中的数值,我让你无所遁形
- 2024-09-18 数字大写转换烦,内置格式多缺陷, VBA函数来解难
- 2024-09-18 Excel VBA 新手学习笔记 字典基础导论
- 2024-09-18 面试常见的四种算法思想,全在这里了
- 2024-09-18 分享自定义函数,根据单元格格式统计数据,比宏表函数好用得多
- 2024-09-18 Spring Cloud Function 快速入门(spring cloud讲解)
- 2024-09-18 ExcelStat特殊函数计算(2):不完全伽马函数
- 2024-09-18 设计模式之装饰器模式(装饰器模式实现)
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 505℃MySQL service启动脚本浅析(r12笔记第59天)
- 483℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 482℃启用MySQL查询缓存(mysql8.0查询缓存)
- 462℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 442℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 439℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)