Страница: 1 |
Страница: 1 |
Вопрос: Генерация в цикле в переменную имена CheckBox
Добавлено: 11.07.08 14:54
Автор вопроса: Boron
Вообщем не могу решить задачу: не подскажите как с ней справиться?
На самом деле моя задача отлична от примера, но главная суть такая:
Имеется на форме 6 CheckBox. Мне необходимо сделать так, чтобы при нажатии на кнопку рабочего листа, появлялась форма, и на каждом CheckBox, при помощи цикла, в свойстве Caption прописывался текст "Тест".
У меня это не получается, пишу код, как это пробовал делать я:
Private Sub CommandButton2_Click()
Dim TmpCheckBox
For k = 1 To 6
TmpCheckBox = "SpecificationRus.CheckBoxA" & k
TmpCheckBox.Caption = "Тест"
Next k
SpecificationRus.Show
End Sub
Пробовал разные варианты решения этой задачи, причём для переменной TmpCheckBox я задавал свойство "As Object". Но всё-равно ничего не работает.
В чём я не прав, не подскажите?
P.S. CheckBox имеет имена:
CheckBoxA1
CheckBoxA2
...
CheckBoxA6
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Fatty
Вопросов: 0
Ответов: 55
Профиль | | #1
Добавлено: 11.07.08 17:48
типа того что-то я думаю:
tmpcheckbox as checkbox
For each ctl in me.controls
if typeof ctl is checkbox then
set tmpcheckbox=ctl
select case tmpcheckbox.name
case ...
case ...
end select
end if
next ctl
~'J'~
Номер ответа: 2
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #2
Добавлено: 12.07.08 19:23
UserForm1.Show
For Each ctl In UserForm1.Controls
If ctl.Name Like "CheckBox*" Then
ctl.Caption = "Text"
ctl.Visible = True
End If
Next ctl
Номер ответа: 3
Автор ответа:
Boron
Вопросов: 5
Ответов: 12
Профиль | | #3
Добавлено: 15.07.08 16:17
Благодарю за ответы!
Номер ответа: 4
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #4
Добавлено: 16.07.08 13:41
Еще вот так можно. Это вообще под твой вариант.
With Me.Controls("CheckBoxA" & iCount)
.Caption = "Text"
End With
Next