如何在 Excel 中使用 VBA 从数组中删除重复项?
Excel VBA 代码,用于从给定的单元格区域中删除重复项。在下面的数据集中,我们在“A 列”范围 A1:A15 中给出了 15 个数字的列表。需要删除重复项并在 B 列中放置唯一编号。
样本数据:单元格 A1:A15
最终输出:
VBA 代码删除重复项并放入下一列 (B)
声明变量: Variables Data Type Comments nonDuplicate Boolean It is a Boolean value (True/False). uNo Integer Count no of Unique items in column B colA Integer Iteration column A cells colB Integer Iteration column B cells
'Variable Declarations
Dim nonDuplicate As Boolean, uNo As Integer, colA As Integer, colB As Integer
总是第一个值是唯一的,所以 A1 放置到单元格 B1
'Place first value to B1
Cells(1, 2).Value = Cells(1, 1).Value
初始化变量:
'Initialize uNo = 1 since first number is already placed in column B; Assign True to the variable nonDuplicate
uNo = 1
nonDuplicate= True
由于第一个数字已经放在单元格 B1 中,循环从 A2 开始到 A15。从 A 列中取出每个数字并检查 B 列(唯一范围)
'Use for loop to check each number from A2 to A15
For colA = 2 To 15
For colB = 1 To uNo
如果数字已经放在 B 列中。将 False 分配给“nonDuplicate”变量。
If Cells(colA, 1).Value = Cells(colB, 2).Value Then
nonDuplicate= False
End If
“nonDuplicate” 为 True 然后放置到 B 列并将 uNo 增加 1
'if nonDuplicate is true, place cell value in column B and increase uNo = uNo + 1
If nonDuplicate = True Then
Cells(uNo + 1, 2).Value = Cells(colA, 1).Value
uNo = uNo + 1
End If
重置“nonDuplicate”变量
'reset nonDuplicate to True
nonDuplicate = True
关闭 for 循环
Next colA
执行:
按照以下步骤使用 Excel VBA 删除重复项:
第 1 步:将形状( VBA 删除重复项)添加到工作表
第2步:右键单击“VBA删除重复项”和“分配宏..”
第 3 步:选择“removeDuplicates”,您可以看到工作簿中可用的宏列表
第 4 步:将您的 Excel 文件另存为“启用 Excel 宏的工作簿” *.xlsm
第 5 步:单击“VBA Remove Duplicates”执行 VBA 代码并查看输出