一转眼,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宏
即可自主实现一键操作。
提前拜个早年!恭喜发财!身体健康!万事如意!