Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
сократить код для переключателя
 
Вечер добрый!
Как можно сократить код (написать покрасивше), если надо у группы элементов (разных) поменять общий параметр.
Код
Private Sub OptionButton1_Click()
    TextBox1.Enabled = True
    TextBox2.Enabled = True
    TextBox3.Enabled = True
    TextBox4.Enabled = True
    TextBox5.Enabled = False
    TextBox6.Enabled = False
    TextBox7.Enabled = False
    TextBox8.Enabled = False
    Label1.Enabled = False
End Sub
 
и чего вам делать с этими красивостями?  :)
"красивости" будут внутри кода, а работа формы - снаружи
ваш код в таком виде - самый быстрый по скорости работы.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
ikki пишет:
ваш код в таком виде - самый быстрый по скорости работы.
Согласен с Сашей. А вот если сократить захотца...;) Тут да, мона.
Я сам - дурнее всякого примера! ...
 
В принципе возможна такая запись (насколько удобная - сами решайте):

Код
Sub setOnePropertyForFewControls()

    OLEObjects(Array("TextBox1", "TextBox2", "TextBox3", "TextBox4")).Enabled = True
    OLEObjects(Array("TextBox5", "TextBox6", "TextBox7", "TextBox8", _
                                                           "Label1")).Enabled = False
End Sub



P.S. Нафантазировалась вариация, чем-то мне даже нравится:

Код
Sub setOnePropertyForFewControls2()

    OLEObjects(Split(R eplace("%1 %2 %3 %4", "%", "TextBox"))).Enabled = True
    OLEObjects(Split(R eplace("%5 %6 %7 %8", "%", "TextBox"))).Enabled = False
    Label1.Enabled = False
    
End Sub

(не очень понял, почему при публикации буква R самовольно отделилась пробелом от остальных в слове Replace - я подавал "на вход" слитное слово)
Изменено: Gustav - 3 Янв 2013 02:05:17
 
Цитата
Gustav пишет:
не очень понял, почему при публикации буква R самовольно отделилась пробелом от остальных в слове R eplace
Аналогичная проблема с End Function
Проблема известна - работают над устранением.
 
Цитата
Gustav пишет:
чем-то мне даже нравится
Отлично, Gustav! Даже в такой деревянный код Вы умудрились привнести изюминку :)
Я сам - дурнее всякого примера! ...
 
да, оригинально  :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
Gustav пишет:
P.S. Нафантазировалась вариация, чем-то мне даже нравится:
Цитата
Gustav пишет:
В принципе возможна такая запись (насколько удобная - сами решайте):
зачем из простого делать сложное? Если так хочется, можно вынести код в отдельную процедуру, обозвать ее соответствующим образом и вызывать.
Цитата
ikki пишет:
да, оригинально
а теперь представь эту оригинальность в реальном проекте. Оно надо?
Изменено: nerv - 3 Янв 2013 17:59:50
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv, Саш, давай-ка ты напиши лучше, чем Gustav. Тогда будет о чем поговорить. А пока... пустой треп.
Я сам - дурнее всякого примера! ...
 
Цитата
nerv пишет:
в реальном проекте. Оно надо?
имхо, имеет право на существование.
даже в реальном проекте.
другое дело - я сам так делать не буду.
и другим советовать - тоже.
:D
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
KuklP пишет:
давай-ка ты напиши лучше, чем Gustav
лучше/хуже - проще
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
Страницы: 1
Читают тему (гостей: 1)
Наверх