Es correcto, pero no veo la necesidad de desperdiciar tantos recursos empleando varias variables...
Podrías dejarlo así:
Código:
Case tamano
case 1
sql ="Select *... AND "
Case color
case 1
sql = sql & " color =amarillo and "
case precio
case 1
sql= sql & " precio=kkk"
Así no desperdicias recursos...
Saludos.