Hi, the code that i have gives a "procedure too large" error. I tried breaking it up but have trouble getting the code to flow. I have also thought about condensing the code using For and Next, but have faced issues doing it as well due to the complexity of the code. Can anyone help me with this?
This is part of my long procedure that needs condensing:
after the line where y = y + 1,the red font variables need to increase by 1
This is part of my long procedure that needs condensing:
after the line where y = y + 1,the red font variables need to increase by 1
VBA Code:
With ws2
lrow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To lrow2
If .Cells(x, 6) = "" Then
With ws3
lrow3 = ws3.Cells(Rows.Count, 1).End(xlUp).Row
For y = 2 To lrow3
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 1), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 1)))) <> 0 Then
ws2.Cells(x, 6) = Format(Application.WorksheetFunction.Average(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 1)))), "0.00")
ws2.Cells(x, 7) = Application.WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 1))))
Else
ws2.Cells(x, 6) = 0
ws2.Cells(x, 7) = 0
End If
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 1), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 1)))) <> 0 And ws.Cells(18, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 8) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 8) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 8) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 8) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 8) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 8) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 8) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - [SIZE=5][COLOR=rgb(226, 80, 65)]2[/COLOR][/SIZE]), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 2)))) <> 0 And ws.Cells([SIZE=5][COLOR=rgb(226, 80, 65)]19[/COLOR][/SIZE], 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, [SIZE=5][COLOR=rgb(226, 80, 65)]9[/COLOR][/SIZE]) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 9) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 9) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 9) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 9) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 9) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 9) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 3), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 3)))) <> 0 And ws.Cells(20, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 10) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 10) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 10) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 10) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 10) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 10) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 10) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 4), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 4)))) <> 0 And ws.Cells(21, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 11) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 11) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 11) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 11) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 11) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 11) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 11) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 5), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 5)))) <> 0 And ws.Cells(22, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 12) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 12) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 12) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 12) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 12) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 12) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 12) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 6), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 6)))) <> 0 And ws.Cells(23, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 13) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 13) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 13) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 13) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 13) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 13) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 13) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 7), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 7)))) <> 0 And ws.Cells(24, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 14) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 14) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 14) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 14) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 14) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 14) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 14) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 8), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 8)))) <> 0 And ws.Cells(25, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 15) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 15) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 15) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 15) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 15) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 15) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 15) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 9), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 9)))) <> 0 And ws.Cells(26, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 16) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 16) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 16) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 16) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 16) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 16) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 16) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If
y = y + 1
If ws2.Cells(x, 5) = Left(.Cells(y, 3), 3) And ws2.Cells(x, 5) = Left(.Cells(y + (ws.Range("B8") - 10), 3), 3) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & ee & (y + (ws.Range("B8") - 10)))) <> 0 And ws.Cells(27, 2) = .Cells(y, 17) Then
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 1 Then
ws2.Cells(x, 17) = (ws3.Range(aa & y)) / 2
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 2 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) Then
ws2.Cells(x, 17) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 17) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 3 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) Then
ws2.Cells(x, 17) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 17) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
If WorksheetFunction.CountA(ws3.Range(aa & y & ":" & dd & y)) = 4 Then
If (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 3) And (Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) * 0.2) > Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 4) Then
ws2.Cells(x, 17) = Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1) / 2
Else
ws2.Cells(x, 17) = Format(Application.WorksheetFunction.Average(Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 1), Application.WorksheetFunction.Large(ws3.Range(aa & y & ":" & dd & y), 2)))
End If
End If
End If
End If