In general, you don't need to select an object before manipulating it. Try this:
Code:
Dim myRange As Range
Set myRange = Range("a:a, d:d, e:e")
myRange.EntireColumn.Delete
Since "EntireColumn" is a child object of the Range object, and you set a reference to a Range, object, you can use it directly without having to first select the range. Also, since the Range object itself refers to entire columns, you can also call the Delete method directly. This would also work:
Code:
Dim myRange As Range
Set myRange = Range("a:a, d:d, e:e")
myRange.Delete