Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Как испльзовать CheckBox в цикле? Добавлено: 08.05.08 10:27  

Автор вопроса:  Юра
Всем привет! Есть проблемка. На листе расположенно 94 элемента CheckBox с именами CheckBox1....CheckBox94.
Периодически нужно просматривать хначение .Value.
попытка организовать цикл не привела ни к чемц хорошему.
Примеры
For i=1 to 94
if CheckBox(i).Value=True then
.....
end if
Next i
 или же
 
For i=1 to 94
if ("CheckBox" & i).Value=True then
.....
end if
Next i
или же нашел в инете на каком то форуме

For i=1 to 94
if Me.control("CheckBox" & i).Value=True then
.....
end if
Next i

Ничего из этого не работает. Программа выдает ошибку.
Не охота перечислять все 94 элемента да еще не один раз.
Подскажите пожалуйсто как можно загнать это в цикл.
Заранее СПАСИБО!!!




Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 J. Smith



ICQ: ненавижу 

Вопросов: 40
Ответов: 477
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #1
Добавлено: 08.05.08 10:54
Был похожий вопрос

http://vbnet.ru/forum/show.aspx?id=164961

только там контролы были на форме Forms 2,
версия офиса чтото может значить, укажи,
скинешь документ на ящик может чем помогу

Ответить

Номер ответа: 2
Автор ответа:
 J. Smith



ICQ: ненавижу 

Вопросов: 40
Ответов: 477
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #2
Добавлено: 08.05.08 13:01
Что 2007 эт жаль, я ещё плохо с ним знаком, наверно ты прикрепил к письму файл и его срезали, я не получил. Попробуй упаковать его и прикрепить архив.

Ответить

Номер ответа: 3
Автор ответа:
 J. Smith



ICQ: ненавижу 

Вопросов: 40
Ответов: 477
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #3
Добавлено: 08.05.08 13:15
Незачто...

Ответить

Номер ответа: 4
Автор ответа:
 Xiaofang



Вопросов: 0
Ответов: 5
 Профиль | | #4 Добавлено: 10.05.08 22:32
Элементы управления, расположенные на листе, входят в коллекцию OLEObjects.

Можно сделать так:

Sub TestValues()
    Dim i As Long
    Dim chk As Object, ws As Worksheet
    
    Set ws = ActiveSheet
    
    For i = 1 To 4
        Set chk = ws.OLEObjects("CheckBox" & i).Object
        Debug.Print chk.Value
    Next
    
    'Не забыть освободить память
    Set ws = Nothing
    Set chk = Nothing
End Sub 'TestValues

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам