如何在 Excel 中查找两列之间的唯一/重复值?

如何在 Excel 中查找两列之间的唯一/重复值?

对于经常需要自动化和可重复流程的用户,使用 VBA(Visual Basic for Applications)可以提供一种免手动操作的解决方案,用于突出显示或提取两列之间的唯一或重复值。通过 VBA 脚本,您可以即时处理不同长度的列,并自动标记、着色,甚至将这些值列出到其他位置——大大提高了处理大型或频繁更新数据集的效率。

这种方法特别适合熟悉宏的用户,他们希望减少手动步骤或将解决方案应用于多个工作表或工作簿。

1. 打开您的 Excel 文件。然后,在 Excel 功能区上,转到 开发工具 > Visual Basic 以打开 VBA 编辑器。在编辑器中,点击 插入 > 模块,并将以下代码粘贴到模块窗口中:

示例:突出显示两个选定列之间的重复值。

Sub HighlightDuplicatesBetweenColumns()

Dim rngA As Range, rngB As Range

Dim cell As Range

Dim ws As Worksheet

Dim xTitleId As String

xTitleId = "KutoolsforExcel"

Set ws = ActiveSheet

' Ask user to select the first range

Set rngA = Application.InputBox("Select the first range (e.g., Column A):", xTitleId, , , , , , 8)

If rngA Is Nothing Then Exit Sub

' Ask user to select the second range

Set rngB = Application.InputBox("Select the second range (e.g., Column C):", xTitleId, , , , , , 8)

If rngB Is Nothing Then Exit Sub

' Highlight duplicates in both ranges

For Each cell In rngA

If cell.Value <> "" And WorksheetFunction.CountIf(rngB, cell.Value) > 0 Then

cell.Interior.Color = RGB(255, 255, 0) ' Yellow

End If

Next cell

For Each cell In rngB

If cell.Value <> "" And WorksheetFunction.CountIf(rngA, cell.Value) > 0 Then

cell.Interior.Color = RGB(255, 255, 0) ' Yellow

End If

Next cell

MsgBox "Duplicate values have been highlighted in yellow.", vbInformation, xTitleId

End Sub2. 粘贴代码后,关闭编辑器。返回 Excel,按 Alt + F8,从宏列表中选择 HighlightDuplicatesBetweenColumns 并点击 运行。当提示时,选择您的两个目标范围。

💡 若要突出显示唯一值:将两个 If 语句中的比较条件从 > 0 修改为 = 0,并可选择不同的颜色(例如绿色)。

提示:在运行宏之前始终备份您的工作表,因为单元格格式更改无法通过 Ctrl+Z 撤销。您还可以调整颜色代码(例如 RGB(255,255,0))以适应您的偏好。

故障排除:如果收到错误,请确保:

在您的 Excel 中启用了 开发工具 选项卡。 您的宏安全设置允许执行宏。 所选范围有效且包含可比较的值。 优点: 完全自动化,适用于不同文件大小。 缺点: 需要宏权限和基本的 VBA 熟悉程度。

相关文章

魔力宝贝 经典任务之就职忍者
365bet网上娱乐网址

魔力宝贝 经典任务之就职忍者

📅 09-30 👁️ 3192
Minecraft新手上路!​
365bet网上娱乐网址

Minecraft新手上路!​

📅 08-16 👁️ 1541
电视蓝牙怎么连接手机
365bet网上娱乐网址

电视蓝牙怎么连接手机

📅 07-02 👁️ 7276