Хорошо, я нашел решение, которое делает именно то, что я хотел.Спасибо @PEH за вашу помощь.
Sub cpyCol()
Dim wc As Worksheet, wa As Worksheet
Dim lr As Long, I As Long, J As Long, I2 As Long
Dim uR As Range
Dim wb, wb1 As Workbook
Dim eNumStorage() As String ' initial storage array to take values
Set wb = Workbooks.Open("C:\Users\Z003U8UC\Downloads\PP_Anan.xlsm")
Set wb1 = ThisWorkbook
Set ws = wb.Sheets("Procurement plan PM80 ->")
Set wa = ThisWorkbook.Sheets("Test")
lRow = ws.Range("A" & Rows.Count).End(xlUp).Offset(-3).Row
I2 = 11
Const fRow As Long = 2
Application.ScreenUpdating = False
For I = 2 To lRow 'sheets all have headers that are 2 rows
If Not (Application.WorksheetFunction.CountIf(ws.Range("B" & fRow, "B" & lRow), ws.Range("B" & I)) > 1 And _
Application.WorksheetFunction.CountIfs(ws.Range("B" & fRow, "B" & lRow), ws.Range("B" & I), ws.Range("AY" & fRow, "AY" & lRow), "Selected") = 1 _
And ws.Range("AY" & I) <> "Selected") Then
' If (uR Is Nothing) Then
' Set uR = Range(I & ":" & I)
' Else
' Set uR = Union(uR, Range(I & ":" & I))
' End If
I2 = I2 + 1
wa.Cells(I2, "A") = ws.Cells(I, "A")
wa.Cells(I2, "B") = ws.Cells(I, "B")
wa.Cells(I2, "C") = ws.Cells(I, "N")
wa.Cells(I2, "D") = ws.Cells(I, "X")
wa.Cells(I2, "E") = ws.Cells(I, "Y")
wa.Cells(I2, "G") = ws.Cells(I, "AY")
wa.Cells(I2, "H") = ws.Cells(I, "C")
wa.Cells(I2, "I") = ws.Cells(I, "D")
wa.Cells(I2, "J") = ws.Cells(I, "E")
wa.Cells(I2, "K") = ws.Cells(I, "F")
wa.Cells(I2, "R") = ws.Cells(I, "BI")
wa.Cells(I2, "S") = ws.Cells(I, "AT")
wa.Cells(I2, "T") = ws.Cells(I, "AU")
wa.Cells(I2, "U") = ws.Cells(I, "AV")
wa.Cells(I2, "V") = ws.Cells(I, "AW")
End If
Next I
'uR.copy Destination:=ws.Range("A13")
wb.Save
wb.Close
Application.ScreenUpdating = True
End Sub
Если это может быть улучшено, пожалуйста, дайте мне знать.