Row 1?????
Option Explicit
sub testme()
dim iCol as long
with activesheet
for icol = .cells.specialcells(xlcelltypelastcell).column to 1 step -1
select case lcase(.cells(1,icol))
case is = "eggs","cheese","salad","pizza"
'do nothing, keep it
case else
.columns(icol).delete
end select
next icol
end with
end sub
This assumes that there's nothing else in the cell except those names.
> Looking to create a macro that will erase all columns except where the
> first cell (row a) contains the name:
[quoted text clipped - 3 lines]
> Salad
> Pizza

Signature
Dave Peterson