excelvba几天能学会(excelvba延迟使用方法)

·Excel从零到一

Hello,大家好,今天跟大家分享几个比较实用的自定义函数,都是利用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.Unprotect Password:="123"Sheet1.Protect Password:="123"

我们想要使用只需修改上面的2行代码即可。默认密码为【123】,大家可以根据自己需求来输入密码,密码需要更改2次,Sheet1是用于指定锁定那个工作表的,大家也需要根据自己的实际情况来修改下,这个Sheet1是VB编辑器中对应的sheet名称,在左侧的窗口可以看到

excelvba几天能学会(excelvba延迟使用方法)

二、根据批注提取数据

Public Function pizhu(i As Range)Application.Volatile Truepizhu = i.Cells.Comment.TextEnd Function

这个代码的作用是自定义一个名称为【pizhu】的函数,我们需要再点击鼠标右键,插入【模块】,将代码粘贴到模块中,它可以帮助我们快速的将批注中的数据提取出来

语法:=pizhu(需要提取的单元格)

需要注意的是,如果单元格没有批注的话,函数就会返回#VALUE!这个错误值,所以我们还需要使用IFERROR函数来屏蔽一下错误值。

excelvba几天能学会(excelvba延迟使用方法)

三、根据颜色求和

Function SumColor(i As Range, ary1 As Range)Dim icell As RangeApplication.VolatileFor Each icell In ary1If icell.Interior.ColorIndex = i.Interior.ColorIndex ThenSumColor = Application.Sum(icell) + SumColorEnd IfNext icellEnd Function

这个代码的作用是根据颜色求和,定义方法与提取批注是一模一样的,函数的名字为SumColor

语法:= SumColor(想要求和的颜色,求和的数据区域)

第一参数:直接在单元格中选取对应的颜色即可。

第二参数:选择需要求和的数据区即可

excelvba几天能学会(excelvba延迟使用方法)

四、根据颜色计数

Function CountColor(x As Range, ary2 As Range)Application.VolatileFor Each i In ary2If i.Interior.ColorIndex = x.Interior.ColorIndex ThenCountColor = CountColor + 1End IfNextEnd Function

它的用法跟SumColor一样,作用是根据颜色来进行计数。

语法:= CountColor(想要计数的颜色,计数的数据区域)

第一参数:直接在单元格中选取对应的颜色即可。

第二参数:选择需要计数的数据区即可

excelvba几天能学会(excelvba延迟使用方法)

以上就是今天分享的4组VBA代码,都是一些工作中比较常见的例子,大家直接粘贴使用即可,有一点需要注意的是:如果你想要保存这些VBA代码,就需要将文件的格式另存为【XLSM】,这个格式是可以保存宏代码的。

以上就是今天分享的全部内容,怎么样,你学会了吗?

我是Excel从零到一,关注我,持续分享更多Excel技巧

以上内容,在我的专栏中都有讲到,如果你想要学习Excel,可以看下我的专栏.

课程已经更新了129个章节,后期还会陆续新增章节,专栏永久有效,无时间限制,并且配备了课件

声明:版权归原创所有,转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请与本网联系,我们将及时更正、删除,谢谢。
上上吉
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: