Your Find won't work for two reasons
1.
After:=.Cells(.Cells.Count),
- you are looking for stuff after the last cell on the sheet
2.
LookAt:=xlWhole, _
you don't have any cells in sheet 2 that completely match the values in Sheet 1, so either that should be
xlPart
or your Findstring needs to have the "(upper)" and "(lower)" bits appended
So you need two searches OR assume that "(lower)" range is immediately after the "(Upper)" range and just search for
Cell.Value & "(upper)"
then use
rng.Offset(1,0)
to get the lower band
Once you have found your "spec" you will need to compare the values in each of the columns. You could use
rng.Offset(0,1), rng.Offset(0,2)
etc but better would be to return arrays with the spec values in them e.g.
Dim Arr As Variant
Arr = Range(rng.Address & ":"; rng.Offset(0, 5).Address).Value
You can then step through the cells on the row you are validating and just compare them to the values in the upper and lower arrays