Hola...
Tienes que hacer un recorrido de la columna ejemplo una instrucción do while hasta que no tenga datos luego capturas el valor de la celda y comparas si es diferente a "PRODUCTOS"
if vcelda <> "PRODUCTOS" then
Selection.EntireRow.Hidden = True
endif
Utilizas la instrucción hidden para ocultar ...
Edit:
Para lo de las columnas necesitas el valor de col1 y col2 luego concatenas las cadenas de texto en col3 no puedes reemplazar columna 2 porque eliminas el valor fuente
Saludos,