VBA自动化–实现去重后跨表复制(excel内嵌实现)

一转眼,2024啦~
小李又冒泡了~
前段时间在我们最基本使用的办公软件excel 中,通过内置的vba控件,实现了自动化数据去重复制操作~简单更新一些记录,后续更新会继续自动生成脚本
自动读取的功能~


需求背景:
将sheet1表A列中数据转为纯文本,复制到sheet2 B 列并删除重复数据

实现
不使用excel的基础去重、转格式、复制-通过vba一键完成实现
excel-开发工具-vb编辑器

模块-插入-模块1

代码

Sub merge()

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

Dim ws1 As Worksheet '定义Sheet1变量

Dim ws2 As Worksheet '定义Sheet2变量

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("Sheet1") 'Sheet2工作表

'将Sheet1中的数据复制到Sheet2

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

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

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

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

'遍历A列所有单元格

For i = lastRow To 1 Step -1

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

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

ws2.Rows(i).Delete

Else

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

End If

Next i

End Sub

插入-窗体-选择所需控件-选择指定vb宏

即可自主实现一键操作。


提前拜个早年!恭喜发财!身体健康!万事如意!

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/100075.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>