Несвязанный диапазон строк

Программирование на Visual Basic for Applications
Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Несвязанный диапазон строк

Сообщение Calvin » 05.08.2005 (Пт) 9:57

Здраствуйте, уважаемые.
У меня есть таблица. Если данные в ячейках какого-нибудь столбца удовлетворяют нужному критерию, мне нужно выделить строку. И так далее до конца списка, причем диапазон строк конечно несвязанный.
rows("1,4,5").Select не прокатывает
Вот еще на счет Selection. Нельзя ли в него, как в массив добавлять новые диапазоны выделения.....или этот объект только для чтения?
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.08.2005 (Пт) 10:59

union(rows(1), rows(4), rows(5)).select
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 05.08.2005 (Пт) 11:10

Спасибо, идея хороша....
А вообще у меня был вариант такой
Код: Выделить всё
Do While Range("a1").Offset(i, 0).value <> ""
    If Range("a1").Offset(i, 0).Value = "критерий_1" Then
      textrow = textrow & (Range("a1").Offset(i, 0).Row & ":" & Range("a1").Offset(i, 0).Row) & ","
    End If
    i = i + 1
Loop
Range(Left(textrow, Len(textrow) - 1)).Select

просто динамически с UNIONом будет сложнее...........
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.08.2005 (Пт) 11:16

Не будет сложнее.

dim CurRange as range
....
set CurRange = Union(CurRange, NewRow)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 05.08.2005 (Пт) 12:14

set CurRange = Union(CurRange, NewRow)
вот на первом этапе добавления CurRange=Nothing...на этом все стопорится
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 05.08.2005 (Пт) 12:31

Все, выкупил
Код: Выделить всё
    If CurRange Is Nothing Then
       Set CurRange = Rows( )
    Else
        Set CurRange = Union(CurRange, Rows( ))
    End If

СПАСИБО ЗА ПОМОЩЬ :)
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

    TopList