首页 > 解决方案 > 尝试计算表列中匹配项的数量

问题描述

我正在尝试确定与特定字符串匹配的列中的项目数。我希望以后能够使用这个数字来调整数组的大小。

我一直在尝试各种方法来使用 countif 函数。

Sub testMatrix()

Dim nm1 As String
Dim nm2 As String
Dim tbl As ListObject
Dim nm1Count As Double
Dim nm2Count As Integer

nm1 = "teleport 1"
nm2 = "user2"

Set tbl = ActiveSheet.ListObject("Table1")

nm1Count = Application.WorksheetFunction.CountIf(Range("Table1[username]"), nm1)

End Sub

我希望变量nm1Count等于字符串“teleport 1”在username我的表列中出现的次数。因此,对于我的特定工作表,它应该说 4。

目前,当它到达时它会nm1Count = line出错并说

对象不支持此属性或方法

标签: excelvbadatatablecountif

解决方案


我愚蠢地忘记了 ListObjects 末尾的 s。这是更正后的代码。

Sub testMatrix()

Dim nm1 As String
Dim nm2 As String
Dim tbl As ListObject
Dim nm1Count As Long
Dim nm2Count As Long

nm1 = "teleport 1"
nm2 = "user2"

ActiveSheet.Activate

Set tbl = ActiveSheet.ListObjects("Table1")

nm1Count = Application.WorksheetFunction.CountIf(tbl.DataBodyRange.Columns(1), nm1)
nm2Count = Application.WorksheetFunction.CountIf(tbl.DataBodyRange.Columns(1), nm2)




End Sub


推荐阅读