Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Excel - выбрать диапазон столбцов, указанных их номерами (http://forum.oszone.net/showthread.php?t=190186)

megaloman 03-11-2010 19:02 1534062

Excel - выбрать диапазон столбцов, указанных их номерами
 
В макросе Excel при указании столбцов с помощю обозначающих их букв их диапазон можно выбрать как
Columns("C:E").Select
При указании столбца его номером один столбец можно выбрать как
Columns(3).Select
Как выбрать столбцы, например, с 3 по 5?

okshef 03-11-2010 19:21 1534075

Поищу еще, а пока
Код:

    Dim myUnion As Range
    Set myUnion = Union(Columns(3), Columns(4), Columns(5))
    myUnion.Select

можно циклом
Код:

    Dim myUnion As Range
    Set myUnion = Union(Columns(3), Columns(4))
    For i = 5 To 10
    Set myUnion = Union(myUnion, Columns(i))
    myUnion.Select
    Next


megaloman 04-11-2010 09:57 1534436

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).??????? у меня не вышло

okshef 04-11-2010 10:10 1534444

Цитата:

Цитата megaloman
вынес Select »

я его только для проверки включил :)

А собственно, вразумительной инфы по столбцам-то и нет...

Pliomera 22-12-2010 01:46 1571748

Цитата:

Цитата megaloman
Как выбрать столбцы, например, с 3 по 5? »

Код:

Columns(3).Resize(, 3).Select


Время: 04:05.

Время: 04:05.
© OSzone.net 2001-