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,万分感谢。 展开
1
2
1
3
4
1
5
4
6
。。。
BG列具体有多少行数据未定。现在我想用VBA在BH列显示BG列删除重复数据后的结果:
1
2
3
4
5
6
。。。
请高人帮手编一个VBA,万分感谢。 展开
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,运行代码,后返回工作表,会发现单元格中的重复字符已经被去掉。
推荐于2016-10-05 · 知道合伙人数码行家
关注
展开全部
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
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
excel 自带功能就有删除重复项啊……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询