利用工作表函数进行排重(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数组与字典解决方案》时会有更好的排重方案。

  • 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。

  • 教程学习顺序是7,1(或4),3,2,6,5。第7套《VBA之Excel应用》是对VBA基本的讲解;第1(或4)套《VBA代码解决方案》是《VBA之Excel应用》的提高;第3套《VBA数组与字典解决方案》是VBA应用的专题讲解,教程中讲解的专题是数组和字典,大家会在这套教程中看到非常全面的数组与字典的应用;第2套《VBA数据库解决方案》也是VBA应用的专题讲解,教程讲解的专题是数据库,大家会在这套教程中看到VBA连接Excel与accdb的全面应用;第6套《VBA信息获取与处理》是整个VBA应用的提高;第5套《VBA中类的解读及应用》是VBA的最高理论“类”“接口技术”的讲解。

(0)

相关推荐