摘要:我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。
如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了。
VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习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数组与字典解决方案》时会有更好的排重方案。
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
来源:VBA语言专业教育