【分享成果,随喜正能量】好的习惯,排名第一的是:自律;排名第二的是:终身学习;排名第三的是:保持运动。拥有这三种习惯,美好人生垂手可得。。
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。
如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了。
VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:3.2.13 工作表函数在VBA中的灵活应用
3.2.13 工作表函数在VBA中的灵活应用
在《VBA代码解决方案》这套教程中,给大家介绍了一种利用工作表函数CountIf来判断是否录入了重复值的方案。这种方案虽然不是我推荐的,但对于利用EXCEL多年的朋友是乐于接受的,在这节的代码中,我给出了:
Private Sub Worksheet_Change(ByVal Target As Range) '51 利用VBA代码,限制重复值的录入
With Target
If .Column 1 Or .Count > 1 Then Exit Sub
If WorksheetFunction.CountIf(Range("A:A"), .Value) > 1 Then
.Select
MsgBox "不能输入重复的人员编号!", 64
Application.EnableEvents = False
.Value = ""
Application.EnableEvents = True
End If
End With
End Sub
这里需要注意几点:
1代码的书写位置,代码是写在哪里的?为什么?
2工作表函数的利用方法。
3判断的触发条件;判断值的重复在什么情况下触发;如何设置触发
4程序控制权的理解,代码中为什么要有程序控制权的处理?
5工作表事件中值的传递,在工作表中输入的数据是如何传递给程序的。
如果大家学习到这节,一定要再问一下自己上述的5个问题是否可以解答。如果能够解答,那么说明自己的VBA水平是达到预期的,如果还有部分问题不能解答,就需要再努把力了。学习的过程是循序渐进的,要在每节的代码中学到些自己需要的知识点。
当你学到我的第三套教程《VBA数组与字典解决方案》时会有更好的排重方案。
【分享成果,随喜正能量】其实真正的信仰, 我认为它是一种善的教育, 人心向善就是, 这是一种信仰的教育, 如果有了这样的话, 那这是对他的一生当中可能是最珍贵的财富。。
我2多年的VBA实践经验,全部浓缩在下面的各个教程中:
领取专属 10元无门槛券
私享最新 技术干货