приведенный ниже код работает в основном нормально.Он просматривает мой диапазон на вкладке «список», выбирает первую ячейку (A1), затем переходит на мою вкладку «ингредиенты», фильтрует на основе этой первой ячейки и копирует и вставляет информацию в другое место.
проблема возникает, когда он возвращается к 2-й ячейке (A2), а затем снова фильтрует мой список.он не только фильтрует по A2, но запоминает A1 и фильтрует мой список по обоим критериям!Таким образом, он становится кумулятивным - фильтры 3-го цикла на основе A1, A2 и A3 и т. Д. ...
Как заставить его забыть предыдущие строки в массиве и сосредоточиться только на следующей строке?
Dim N As Integer
With Workbooks("file.xlsm").Sheets("list")
N = .Cells(Rows.Count, "A").End(xlUp).Row
ReDim ary(1 To N)
For i = 1 To N
ary(i) = .Cells(i, 1)
Dim Path As String
Dim filename As String
Path = "C:\"
filename = Workbooks("file.xlsm").Sheets("list").Cells(i, 1)
Windows("file.xlsm").Activate
Sheets("ingredients").Range("$A$1:$E$1451").AutoFilter Field:=1
Sheets("ingredients").Range("$A$1:$E$1451").AutoFilter Field:=1, Criteria1:=ary, Operator:=xlFilterValues
Range("A1:E1451").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False`