首页 > 解决方案 > 计算一个字符串在一个范围内出现的次数

问题描述

如果用户正确过滤了特定列,我正在尝试进行验证。

我的想法是我将获得(第一个)总可见行和(第二个)获得具有字符串“TKF *”的总可见行。

如果 1st = 2nd 则将执行代码,否则将显示通知以供成员检查过滤器。

现在,我在计算仅在可见行中具有“TKF *”字符串的行数时遇到问题。我试过 CountIf 但它仍然计算包含字符串的未过滤行。以下是我拥有的当前代码:

Dim rng As Range
Dim VRows As Integer
Set rng = ActiveSheet.AutoFilter.Range
VRows = rng.Columns(1).SpecialCells(xlCellTypeVisible).count - 1 'count of total visible rows

Dim TKFcount As Integer
TKFcount = Application.CountIf(Range("C1:C100"), "TKF*")

If VRows = TKFcount Then
'some code here
Else
'notify user to check filter
End If

我试图在网上搜索一些解决方案,但我只能找到 CountIf 不排除未过滤的行。欣赏是否有人可以启发我并提出替代方案?

标签: excelvba

解决方案


推荐阅读