okshef, Я несколько модифицировал Ваш цикл - вынес Select из цикла -так эффективнее. Вообще-то Select я привёл как пример, мне, допустим, надо Delete,
Код:
Dim myUnion As Range
Set myUnion = Union(Columns(3), Columns(4))
For i = 1 To 250
Set myUnion = Union(myUnion, Columns(4 + i))
Next
myUnion.Delete Shift:=xlToLeft
Я убедился, что это многократно эффективнее чем
Код:
For i = 0 To 251
Columns(3).Delete Shift:=xlToLeft
Next
Вообще-то сам я пытался свести решение к случаю Columns("C:E") -я не смог сопоставить номеру столбца буквенное обозначение. У меня есть надежда, что этот путь более компактен.
Например MsgBox Columns("C").Column выдаст 3. А вот с обратной операцией, что то типа
MsgBox Columns(3).??????? у меня не вышло