Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Упростить с помощью цикла 
:(
    Опции темы
Izuver
Дата 18.9.2006, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 352
Регистрация: 13.6.2006
Где: Омск

Репутация: 2
Всего: 2



Хочу уменьшить код:
OptionButton1.Caption = Sheets("щффу ").Cells(3, 2)
OptionButton2.Caption = Sheets("щффу ").Cells(4, 2)
OptionButton3.Caption = Sheets("щффу ").Cells(5, 2)
....
OptionButton18.Caption = Sheets("щффу ").Cells(20, 2)
OptionButton20.Caption = Sheets("щффу ").Cells(21, 2)
OptionButton22.Caption = Sheets("щффу ").Cells(22, 2)
Задав, к примеру, цикл For Next

For i = 1 To 22
x = "OptionButton" & i
With x
.Caption = Sheets("щффу "). Cells(2 + i, 2) 
End With
Next i

Но в таком коде x должен быть объектом, если в начале кода добавить Dim x As Object, то переменную x задать нельзя
Как мне быть?
PM MAIL ICQ   Вверх
Aloha
Дата 19.9.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
**


Профиль
Группа: Участник Клуба
Сообщений: 351
Регистрация: 14.5.2006

Репутация: 5
Всего: 165



Izuver

Если OptionButtons "живут" на форме, то так:

Код
For i = 1 To 22
  Controls("OptionButton" & i).Caption = Sheets("щффу ").Cells(2 + i, 2)
Next i

Если OptionButtons "живут" на рабочем листе, то так:

Код
For i = 1 To 22
  ActiveSheet.Shapes("Option Button " & i).Select
  Selection.Characters.Text = Sheets("щффу ").Cells(2 + i, 2)
Next i



Это сообщение отредактировал(а) Aloha - 19.9.2006, 00:28
PM   Вверх
Izuver
Дата 19.9.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 352
Регистрация: 13.6.2006
Где: Омск

Репутация: 2
Всего: 2



Цитата(Aloha @ 19.9.2006,  00:10)
Если OptionButtons "живут" на форме, то так:
Код
For i = 1 To 22
  Controls("OptionButton" & i).Caption = Sheets("щффу ").Cells(2 + i, 2)
Next i

Если OptionButtons "живут" на рабочем листе, то так:
Код
For i = 1 To 22
  ActiveSheet.Shapes("Option Button " & i).Select
  Selection.Characters.Text = Sheets("щффу ").Cells(2 + i, 2)
Next i

Вот здесь:
Private Sub UserForm_Initialize()
PM MAIL ICQ   Вверх
Aloha
Дата 20.9.2006, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
**


Профиль
Группа: Участник Клуба
Сообщений: 351
Регистрация: 14.5.2006

Репутация: 5
Всего: 165



Izuver

Код
Private Sub UserForm_Initialize()
  For i = 1 To 22
    Controls("OptionButton" & i).Caption = Sheets("щффу ").Cells(2 + i, 2)
  Next i
End Sub

PM   Вверх
Izuver
Дата 20.9.2006, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 352
Регистрация: 13.6.2006
Где: Омск

Репутация: 2
Всего: 2



Цитата(Aloha @ 20.9.2006,  00:47)
Izuver

Код
Private Sub UserForm_Initialize()
  For i = 1 To 22
    Controls("OptionButton" & i).Caption = Sheets("щффу ").Cells(2 + i, 2)
  Next i
End Sub

Да правильно, правильно, просто с первого раза что-то не срослось

Добавлено @ 01:10 
Мне б лучше узнать какой переключатель выжат, если не писать для каждого код?
PM MAIL ICQ   Вверх
Aloha
Дата 20.9.2006, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
**


Профиль
Группа: Участник Клуба
Сообщений: 351
Регистрация: 14.5.2006

Репутация: 5
Всего: 165



Izuver

Код

For i = 1 To 22
  If Controls("OptionButton" & i).Value Then
    MsgBox i
  End If
Next i


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.