So without being able to test fully (given missing data etc...) you could try altering your range in the VLOOKUP from:

Quotes!$G$5:$G300

to

INDEX(Quotes!$B$5:$G$300,0,MATCH($B8,Quotes!$B$2:$G$2,0))

this way the range is still referencing rows 5:300 but only looks at the appropriate column as determined by code in B8