Need help: search and delete columns

N

ngray90

I'm working in a huge excel spreadsheet (AA:EN). I need to delete all
but 15 columns. How can I create a macro which will search for the
column name and then delete that entire column. Also if the column is
not found how can I program the macro to move to the next
search/delete? Anyway help would be greatly appreciated.

So far this is what I have, but I want to delete the columns without
specifying the Column location as these columns could be in different
locations due to formating issues on another spread sheet.

Cells.Find(What:="private label", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
_
MatchCase:=False).Activate
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Cells.Find(What:="alternate", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
_
MatchCase:=False).Activate
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Range("D12").Select
Cells.Find(What:="purchase", After:=ActiveCell, LookIn:=xlFormulas,
_
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
_
MatchCase:=False).Activate
Columns("E:E").Select
Selection.Delete Shift:=xlToLeft
Selection.Delete Shift:=xlToLeft
End Sub
 
B

Brian Taylor

Dim rng as range

For each rng in Range("A1:EN1")
If rng.value = "alternate" then
rng.entirecolumn.delete
End if
Next rng

This assumes that your column header labels are in A1:EN1.
 
B

Brian Taylor

Sorry I didn't see you had three different column headers to be
deleted:

Dim rng as range

For each rng in Range("A1:EN1")
Select case rng.value
case "private label","alternate","purchase"
rng.entirecolumn.delete
End Select
Next rng
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top