excel 用VBA如何删除一列中的重复数据

举个例子:BG列有数据:121341546。。。BG列具体有多少行数据未定。现在我想用VBA在BH列显示BG列删除重复数据后的结果:123456。。。请高人帮手编一个VB... 举个例子:BG列有数据:
1
2
1
3
4
1
5
4
6
。。。
BG列具体有多少行数据未定。现在我想用VBA在BH列显示BG列删除重复数据后的结果:
1
2
3
4
5
6
。。。
请高人帮手编一个VBA,万分感谢。
展开
 我来答
xiawei123
高粉答主

2019-08-13 · 每个回答都超有意思的
知道答主
回答量:1626
采纳率:100%
帮助的人:47.4万
展开全部

1、打开要进行数据处理的表格,

2、按ALT+f11,进入VBE程序操作页面,

3、将鼠标下移,右键弹出如图,

4、选择插入-模块,

5、鼠标向右移动,将如下代码写入:

Sub test()

Dim d As Object

Dim r%, i%

Dim arr

Set d = CreateObject("scripting.dictionary")

With Worksheets("sheet1")

r = .Cells(.Rows.Count, 3).End(xlUp).Row

arr = .Range("c2:d" & r)

For i = 1 To UBound(arr)

d.RemoveAll

For j = 1 To Len(arr(i, 1))

ch = Mid(arr(i, 1), j, 1)

d(ch) = ""

Next

arr(i, 2) = Join(d.Keys, "")

Next

.Range("d2").Resize(UBound(arr), 1) = Application.Index(arr, 0, 2)

End With

End Sub

6、按F5,运行代码,后返回工作表,会发现单元格中的重复字符已经被去掉。

mzw_ok
推荐于2016-10-05 · 知道合伙人数码行家
mzw_ok
知道合伙人数码行家
采纳数:13308 获赞数:33044
本人在陕西金山建设工程有限公司,对数码比较喜欢,希望在这方面有所作为!

向TA提问 私信TA
展开全部

对于删除重复数据,Excel 2007中有一个功能可以删除,不需要VBA编程。

方法:

选中重复数据出现的单元格区域→“菜单”栏→“数据”→“删除重复项”→点击“确定”即可

如图:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

推荐于2016-09-02 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
Option Explicit

Sub sample()
Dim j As Integer
Dim src As String, dst As String
Dim d
Set d = CreateObject("Scripting.Dictionary")

src = "BG"
dst = "BH"

With ActiveSheet
For j = 1 To .Range(src & .Rows.Count).End(xlUp).Row
If Not d.exists(Trim(.Range(src & j))) Then d.Add Trim(.Range(src & j)), ""
Next

.Range(dst & 1).Resize(d.Count) = WorksheetFunction.Transpose(d.keys)
End With

Set d = Nothing
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇哲_2011
2012-06-26 · TA获得超过484个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:240万
展开全部
excel 自带功能就有删除重复项啊……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式