Thanks Matt,
Very helpful... I am just a little confused about the double call for the excludes. I tried putting an ElseIf at the end of my first call but that didn't seem to exclude anything - not even the first exclude condition which was working fine before I inserted the ElseIf?? So then I just put an Else and moved everything down a line (Which is the same thing as an ElseIf I think) and that too did not work.
I assume that the second call has to be inside my "For" and "Next" but I'm not sure why it's not working. When I would debug - it would move through the second call exclude but still add the item - So maybe my syntax is wrong some where?
[VBA]For Each CLL In Intersect(Qty, ActiveSheet.UsedRange).Cells
If Not Exclude(UCase(Left(Intersect(CLL.EntireRow, Nm), 2)), Array("PE", "PS", _
"WM", "AS", "PC", "KN", "NC", "DW", "GO", "WP")) Then
If IsNumeric(CLL) Then
vWdth = Intersect(CLL.EntireRow, Wdth).Value
vHght = Intersect(CLL.EntireRow, Hght).Value
If Exclude(UCase(Left(Intersect(CLL.EntireRow, Nm), 2)), Array("WO", "TO", "BO")) Then
Totl2 = Totl2 + CLL.Value * (26 * vHght + 108 * vWdth + vWdth * vHght)
Else
If UCase(Left(Intersect(CLL.EntireRow, Nm), 2)) = "WG" Then
Totl2 = Totl2 + CLL.Value * (26 * vHght + 108 * vWdth + vWdth * vHght)
End If
Totl = Totl + CLL.Value * vWdth * vHght
End If
End If
ElseIf Not Exclude(UCase(Left(Intersect(CLL.EntireRow, Nm), 2)), Array("FVDM", "FHDM", _
"MDDI")) Then
If IsNumeric(CLL) Then
vWdth = Intersect(CLL.EntireRow, Wdth).Value
vHght = Intersect(CLL.EntireRow, Hght).Value
If Exclude(UCase(Left(Intersect(CLL.EntireRow, Nm), 2)), Array("WO", "TO", "BO")) Then
Totl2 = Totl2 + CLL.Value * (26 * vHght + 108 * vWdth + vWdth * vHght)
Else
If UCase(Left(Intersect(CLL.EntireRow, Nm), 2)) = "WG" Then
Totl2 = Totl2 + CLL.Value * (26 * vHght + 108 * vWdth + vWdth * vHght)
End If
Totl = Totl + CLL.Value * vWdth * vHght
End If
End If
End If
Next[/VBA]