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

如题所述

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,运行代码,后返回工作表,会发现单元格中的重复字符已经被去掉。

温馨提示:内容为网友见解,仅供参考
无其他回答

利用excelVBA删除工作表中的重复行
方法一:用工作表函数CountIf判断该行是否重复 Sub 删除重复行1()Dim i As Long Application.ScreenUpdating = False For i = Range("A65536").End(xlUp).Row To 3 Step -1 If WorksheetFunction.CountIf(Range("A2:A" & i), Cells(i, 1)) > 1 Then Cells(i, 1).EntireRow.delete En...

Excel表格怎么用VBA来实现删除重复值的操作
1. 首先双击打开Excel表格,我们可以看到,A列中有一些重复值,下面我们就来操作删除重复项。2. 首先选择工具栏上的“开发工具”,然后选择左侧的“Visual Basic”。3.然后我们就进入VBA窗口下,双击左侧数据的工作表,接着在右侧就会弹出空白代码编辑区。4. 然后在空白区域输入代码:Sub 鱼木混猪()&#...

excel 用VBA如何删除一列中的重复数据
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(.Row...

怎么通过宏VBA代码删除Excel中有重复数据的整行?
1、首先打开需要编辑的Excel表格,右键单击工作表的标签,选择打开“查看代码”。2、然后在弹出来的窗口中点击输入:Sub 删除重复行()Dim xRow As Integer Dim i As Integer xRow = Range("B65536").End(xlUp).Row For i = 2 To xRow For j = i + 1 To xRow If Cells(j, 2) = Cells...

怎么通过宏VBA代码删除Excel中有重复数据的整行?
1、进入EXCEL,ALT+F11进入VBA编辑器。2、在编辑区输入VBA语言Sub Macro1(), VBA 语言选择整行整列的语句,End Sub。3、在工作表中插入表单控件,并指定到宏Macro1。4、弹出的新界面中,再次点击”确定“。5、现在我们来删除整个表格中的重复数据(也叫重复行):鼠标选中整个数据表格,在”数据“...

如何用VBA实现数据透视表的重复项删除?
1.现有一张EXCEL工作表,第一列为“代码”,第二列为“计量单位”,第一列有很多重复的代码对应第二列不同的计量单位,现需要将这种格式合并成右边的格式,也就是代码是唯一的,代码对应的计量单位用分行隔开。请点击输入图片描述 2 2.选中“源数据”表的A2:A171区域,将名称定义为“代码”。请...

如何用VBA删除表格中某列重复的的数据所在行,只留下其中一个即可。
For i = Range("B65536").End(3).Row To 1 Step -1 '从B列的最后一行到第一行依次递减,如果是从第一行到最后一行递增,则会因为删除行而跳过很多行,达不到去重效果 If dic.exists(Cells(i, "B").Value) Then '如果B列中的数据已经在字典中了(也就是重复了)Rows(i).Delete '就...

在excel中,怎么样可以查找到一列中重复的数据并把重复的数据所在的行...
一、按ALT+F11 打开VB编辑器 二、双击左边靠上的【工程资源管理器】中的【MS Excel 对象】中的ThisWorkbook,在右边的代码窗口贴入下面的代码:Sub 删除重复数据()'以col列为条件删除的重复行数据 '本例是删除标题为sheet1的EXCEL表中以A列(从A2单元格开始)为条件的重复韩国数据 Application....

用VBA代码删除EXCEL中重复的十几行数据
注意:请在执行代码前备份你的excel文件,以防删除错误后数据不开恢复。。Sub sc()For i = 1 To UsedRange.Rows.Count If Cells(i, 1) = "总计" Then a = i + 1 If Cells(i, 1) = "日期" Then If a = "" Or a = i Then Else Rows(a & ":" & i - 1).Delete Shift:=...

Excel 用vba 将多个sheet按照一列数据进行剔重!
1) = arr(i, 1) Thenisnew = 0Exit ForEnd IfNext jIf isnew Thenn = n + 1rlt(n, 1) = arr(i, 1)End IfEnd IfNext iEnd IfNext st'结果存如新表格With Workbooks.AddWith .Sheets(1).Cells(1, 1).Resize(n, 1).NumberFormat = "@".Value = rlt.SelectEnd WithEnd WithEnd...

相似回答
大家正在搜