大家好。今天我想介绍一些比较实用的使用VBA代码的自定义函数。您所要做的就是打开VB 编辑器并粘贴代码。我们来看看代码是什么。
一、输入数据自动锁定
Private Sub Worksheet_SelectionChange(ByVal Target As Range)On Error Resume NextSheet1.Unprotect Password:='123'If Target.Value '' thenTarget.Locked=TrueSheet1.Protect Password:='123'End IfEnd Sub 此代码执行以下操作:如下。当您输入数据时,Excel 工作表会自动锁定。在这种情况下,无法修改输入的数据。您只能通过单击“确认”,找到“删除工作表保护”并输入正确的密码来更改数据。
Sheet1.UnprotectPassword:='123'Sheet1.ProtectPassword:='123'如果你想使用这个,只需更改上面的两行代码即可。默认密码是[123]。您可能需要更改密码两次。这应该根据您的实际情况进行更改。 Sheet1是在VB中编辑的浏览器上对应的sheet名称会显示在左侧窗口中
二、根据批注提取数据
Public Function pizhu(i As Range)Application.Volatile Truepizhu=i.Cells.Comment.TextEnd Function 这段代码的作用是自定义名为[pizhu]的函数。再次按下鼠标插入模块并将代码粘贴到模块中。这使您可以快速提取注释中的数据。
语法:=pizhu(要提取的单元格)
请注意,如果单元格没有注释,该函数将返回#VALUE! 错误值,因此您必须使用IFERROR 函数来屏蔽错误值。
三、根据颜色求和
Function SumColor(i As Range, ary1 As Range)Dimicell As RangeApplication.VolatileFor every Icell In ary1Ificell.Interior.ColorIndex=i.Interior.ColorIndex thenSumColor=Application.Sum(icell) + SumColorEnd IfNexticellEnd Function代码的作用是根据颜色求和。定义方法与注释提取完全相同。该函数的名称是SumColor。
语法:=SumColor(我想对颜色求和,我想对数据区域求和)
第一个参数:直接选择单元格中对应的颜色。
第二个参数:选择求和的数据区域
四、根据颜色计数
函数CountColor(x As Range, ary2 As Range)Application.VolatileFor Each i In ary2If i.Interior.ColorIndex=x.Interior.ColorIndex thenCountColor=CountColor + 1End IfNextEnd 函数用法与SumColor 相同。其功能取决于颜色。
语法:=CountColor(要计数的颜色,要计数的数据区域)
第一个参数:直接选择单元格中对应的颜色。
第二个参数:选择要统计的数据区域
以上是目前分享的四个VBA代码。这些都是我们在工作中经常使用的例子。需要注意的一件事是,如果您想保存这些VBA 代码:复制文件。格式保存为“XLSM”。这种格式可以存储宏代码。
这就是我今天分享的内容。它怎么样?
我是Excel从零到一。关注我,持续分享更多Excel技巧。
以上内容在我的专栏中也有提到,所以如果你想学习Excel,请阅读我的专栏。
本课程已更新129章,未来还会增加更多章节。专栏是永久性的,没有时间限制,并配有课件。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。