VBA与数据库——简化程序编写-去重

2021-08-13 16:47:43 浏览数 (1)

说到去除重复,在VBA里首先想到的应该是字典的应用,在

VBA调用外部对象01:字典Dictionary(去除重复数据)里也有过介绍。

除了使用VBA外,如果只是去除Excel数据的重复,Excel内置的功能:

数据-删除重复值,这个功能其实已经非常的好用了。

如果数据非常的规范,使用VBA调用ADO也是可以方便的去除重复:

代码语言:javascript复制
Sub ADO去重()
    Dim AdoConn As Object
    Set AdoConn = VBA.CreateObject("ADODB.Connection")

    '打开数据库
    AdoConn.Open "Provider =Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES"";"
    Range("E2").CopyFromRecordset AdoConn.Execute("select distinct 项目,姓名 from [Sheet1$A1:C21]", , 1)

    AdoConn.Close
    Set AdoConn = Nothing
End Sub

代码和汇总、查找数据等一样,仅仅是修改了sql语句,相比使用字典,代码更加的简单,在需要更换去重字段条件的时候,也更加的方便。

vba

0 人点赞