我给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实践经验,全部浓缩在下面的各个教程中: |
|
来自: 满泉ca85upjdlw > 《Excel知识》