cortexnotion
Board Regular
- Joined
- Jan 22, 2020
- Messages
- 150
- Office Version
- 2013
- Platform
- Windows
Hi All
Could you help me finish the below? I am putting my very large data range into an array and looking to find matching rows and copy to the next sheet. Is it better to put the results into an output array and output at once or individually?
Any help appreciated.
Could you help me finish the below? I am putting my very large data range into an array and looking to find matching rows and copy to the next sheet. Is it better to put the results into an output array and output at once or individually?
Any help appreciated.
VBA Code:
Sub vbamatch()
Dim InAry As Variant, LR1 As Long, LW1 As Long, a As Long
LR1 = ThisWorkbook.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
InAry = ThisWorkbook.Sheets("Sheet1").Range("A2:O" & LR1).Value
ColorAry = Array("Red","Blue","Yellow","Green","Brown","Black")
LW1 = Application.Evaluate("INT((TODAY()-1)/7)*7+1")
For a = 1 To LR1
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(0) Then 'copy matching row to Sheet2 Range A2:O2
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(1) Then 'copy matching row to Sheet2 Range A3:O3
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(2) Then 'copy matching row to Sheet2 Range A4:O4
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(3) Then 'copy matching row to Sheet2 Range A5:O5
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(4) Then 'copy matching row to Sheet2 Range A6:O6
If InAry(a, 1) = LW1 & InAry(a, 5) = ColorAry(5) Then 'copy matching row to Sheet2 Range A7:O7
Next a
End Sub