Перебор Range

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

Перебор Range

Сообщение Calvin » 01.04.2004 (Чт) 16:48

Извиняйте, за глупый, но все же вопрос. Застопорился я вот на чем:
Код: Выделить всё
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For Each f In Range("g5:v20")
        If f = Target.Address Then
         MsgBox Target.Address
        End If
    Next   
End Sub

в общем хочу, чтобы была реакция только в пределах какого-либо диапазона при активизации ячейки. В принципе можно сделать это по-другому, но не догоняю я, почему не получается, не выделяя диапазон, делать по нему перебор таким способом???
Кстати Range - это коллекция? (тоже глупый вопрос) :roll:
-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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.04.2004 (Чт) 17:12

Тебе нужны Range().Cells. Проходишься по .Cells(I) от 1 до Cells.Count.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение Calvin » 01.04.2004 (Чт) 18:04

Ага, спасибо за совет.....вот так работает
Код: Выделить всё
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    For i = 1 To Range("g5:v20").Cells.Count
        If Range("g5:v20").Cells(i).Address = Target.Address Then
         MsgBox Target.Address
        End If
    Next
     
End Sub

я просто клонил вопрос к тому, что в прошлых темах давно обсуждался вопрос о несвязанных диапазонах с использованием Areas для перебора выделенных ячеек. Просто я подумал, что можно было бы обойти Areas и с помощью цикла For Each.... перебрать "коллекцию" (я так считал) Range, но похоже так не получится :roll:

2 alibek все равно спасибо
-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

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

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

    TopList