Я создал код в VBA, который фильтрует мои данные перед передачей, но я бы хотел добавить дополнительный фильтр.
Как мне поступить?
Я пытался просто добавить строку под Критерием 1 с новыми значениями, но это не работает.
With Wb1.Sheets(12)
If .AutoFilterMode Then .AutoFilterMode = False
.Range("$A$1:$AM" & .Cells(.Rows.Count, "A").End(xlUp).Row).AutoFilter Field:=19, _
Criteria1:="Test,Test"
Set rngToCopy = .AutoFilter.Range
End With
rngToCopy.Copy
wb2.Sheets(2).Range("$A1").PasteSpecial xlValues
End If
ThisWorkbook.RefreshAll
По какой-то причине все еще возникают проблемы, вот весь код.Когда я выполняю, я не получаю сообщение об ошибке, но ничего не копируется.
Sub CopyData()
On Error GoTo ErrorHandle
Application.ScreenUpdating = False
Dim Wb1 As Workbook, wb2 As Workbook, wB As Workbook
Dim rngToCopy As Range
For Each wB In Application.Workbooks
If Left(wB.Name, 21) = "Test_Test Test" Then
Set Wb1 = wB
Exit For
End If
Next
If Not Wb1 Is Nothing Then '<~~ check if you actually found the needed workbook
Set wb2 = ThisWorkbook
With Wb1.Sheets(12).Range("$A$1:$AM" & Cells(Rows.Count, "A").End(xlUp).Row)
If AutoFilterMode Then .AutoFilterMode = False
.AutoFilter Field:=19, Criteria1:="Test,Test"
.AutoFilter Field:=38, Criteria1:="Employee"
'do stuff
Set rngToCopy = .AutoFilter.Range
End With
rngToCopy.Copy
wb2.Sheets(2).Range("$A1").PasteSpecial xlValues
End If
ThisWorkbook.RefreshAll