excel学习库

excel表格_excel函数公式大全_execl从入门到精通

如何合并两张Excel数据并删除重复项(VBA)

以下代码仅供参考,如有错误之处欢迎指正交流。

Sub 合并并删除重复项()

Dim wb As Workbook '定义工作簿变量

Dim ws1 As Worksheet '定义Sheet1变量

Dim ws2 As Worksheet '定义Sheet2变量

Dim ws3 As Worksheet '定义Sheet3变量

Dim lastRow As Long '定义最后一行变量

Dim i As Long

Dim dict As Object

Set dict = CreateObject("Scripting.Dictionary")

'设置工作簿和工作表

Set wb = ThisWorkbook '当前工作簿

Set ws1 = wb.Sheets("Sheet1") 'Sheet1工作表

Set ws2 = wb.Sheets("Sheet2") 'Sheet2工作表

Set ws3 = wb.Sheets("Sheet3") 'Sheet3工作表

'清除Sheet3中的数据

ws3.Cells.ClearContents

'将Sheet1中的数据复制到Sheet3

lastRow = ws1.Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行

ws1.Range("A1").CurrentRegion.Copy ws3.Range("A1") '复制数据到Sheet3

'将Sheet2中的数据复制到Sheet3

lastRow = ws3.Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行

ws2.Range("A1").CurrentRegion.Offset(1).Copy ws3.Range("A" & lastRow + 1) '复制数据到Sheet3

'获取sheet3中A列最后一行行号

lastRow = ws3.Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行

'遍历A列所有单元格

For i = lastRow To 1 Step -1

'判断单元格的值是否在字典中出现过,如果出现过,则删除整行数据

If dict.Exists(ws3.Cells(i, "A").Value) Then

ws3.Rows(i).Delete

Else

dict(ws3.Cells(i, "A").Value) = 1

End If

Next i

'向用户显示合并完成的消息

MsgBox "合并并删除重复项成功!"

End Sub

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接