首页 > 解决方案 > 具有多个范围的 Excel VBA Countif

问题描述

我正在尝试创建一个在大型 Excel 工作表中查找重复项的程序。

但是,由于数据是按月和按人输入的,因此该表中的数据存在用于标记目的的空白。我需要找到一种方法来突出显示和计算重复的数量。

我已经使用它来突出显示一个范围内的重复项

If Application.WorksheetFunction.CountIf(Range1, Cell) > 1 Then

但我需要在 countif 函数中加入两个或更多范围。基本上我需要比较非连续范围内的重复数据。

所以我有范围

C4:H78 J4:O78 Q4:V78

我将如何在 VBA 中将它们加在一起,以便将所有范围相互比较?

我努力了

If Application.WorksheetFunction.Sum(Application.WorksheetFunction.CountIf(Range1, Cell),Application.WorksheetFunction.CountIf(Range2, Cell),etc) > 1 Then

并使用Union(range1,range2)创建一个范围的联合,但这不起作用。

我直接在excel中总结了countif =SUM(COUNTIF(INDIRECT({"Range1","RANGE2",etc}),criteria))

但是INDIRECT在我能找到的 VBA 中不起作用。

我是 Excel 中的 VBA 新手。感谢您提供的任何帮助。

标签: excelvbacountif

解决方案


If ( _
       Application.WorksheetFunction.CountIf(Range1, Cell) + _
       Application.WOrksheetFunction.CountIf(Range2, Cell) + _
       Application.WOrksheetFunction.CountIf(Range3, Cell) _
   ) > 1 Then

推荐阅读