我有一个公司列表(listA,位于工作表Workings2中)和公司列表(ListB - 每个公司有多个条目,位于工作表数据中)附带数据,列表A我希望能够采取公司(在B列的单元格中)并在自动过滤器上循环遍历listB,以便我可以检查某个列(AZ)是否在特定波段(100,000-500,000)中具有一定数量的值。一旦我有数字计数,我想将它添加到工作表工作。在ListB中的每个公司之后,我想重置过滤器并为下一个公司重新设置过滤器
我有下面的代码,我已经拼凑在一起,但是它给出了一个没有意义的古怪数字(大约30,000,当我看着大约100时)
Sub calculate1()
Dim wsCriteria As Worksheet, wsData As Worksheet, wsDest As Worksheet
Dim CompanyListLocation
Dim lr As Long, dlr As Long
Application.ScreenUpdating = False
Set wsCriteria = Sheets("Dashboard")
Set wsData = Sheets("Data")
Set wsDest2 = Sheets("Workings2")
Dim rCell As Range
Dim rRng As Range
Set rRng = wsData.Range("B3: B418")
For i = 0 To 419
With wsData.Rows(1)
.AutoFilter Field:=5, Criteria1:=i
lr = wsData.UsedRange.Rows.Count
dlr = wsDest2.Cells(Rows.Count, 1).End(xlUp).Row + 1
'wsData.AutoFilterMode = False
With wsData.Rows(1)
.AutoFilter Field:=3, Criteria1:="Forward", Operator:=xlOr, Criteria2:="NDF"
If wsDest2.Range("C1:C" & lr).SpecialCells(xlCellTypeVisible).Cells.Count
> 1 Then
ff = Application.WorksheetFunction.CountIfs(wsData.Range("AZ:AZ"), ">" &
100000, wsData.Range("AZ:AZ"), "<" & 500000)
wsDest2.Range("C3").Value = ff
End If
.AutoFilter
End With
End With
Next i
End Sub
如果有人可以提供帮助,那将会很棒。