【发布时间】:2019-05-21 19:24:56
【问题描述】:
简而言之:
我有 3 列。 A 列是工作表名称,B 列是个人姓名,第 3 列是实例数。
我想计算 B 列中的人名出现在 A 列的动态工作表列表中的实例数。
更多详情:
我有一个包含许多工作表的工作簿。一些工作表以名称“Test”开头。我想搜索以“Test”开头的每个工作表,并查找名称(来自 B 列)出现的次数。
我有两个部分。
- 宏会列出所有以“Test”开头的工作表并将它们放在 A 列中。
- C 列中的公式进入 A 列中的每个工作表,并查找 B 列中的名称出现的实例数。
问题是可以添加以“测试”开头的新标签。
如何使公式动态化并搜索所有 A 列?
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
Dim R As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
R = 2
' Begin the loop.
For I = 1 To WS_Count
If (InStr(1, ThisWorkbook.Worksheets(I).Name, "Test")) > 0 Then
ThisWorkbook.Worksheets("Master").Cells(R, 1) = ActiveWorkbook.Worksheets(I).Name
R = R + 1
End If
Next I
End Sub
公式:
=SUMPRODUCT(COUNTIF(INDIRECT("'"&$A$2:$A5&"'!A1:EE2000"),B2))
【问题讨论】:
标签: excel vba excel-formula