Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменение свойств togglebutton(s) в зависимости от номера s - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Изменение свойств togglebutton(s) в зависимости от номера s
Shtirlits_57rus_ Дата: Пятница, 19.06.2015, 15:29 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Имеется 22 заблокированных выключателя (togglebutton). При нажатии на "Старт" через InputBox необходимо ввести номер выключателя, который останется заблокированным и изменить цвет его шрифта на красный, остальные разблокировать.
[vba]
Код
s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
ToggleButton_s_.ForeColor = &HFF
ToggleButton_s_.Locked = True
[/vba]
Во вложении вместо номера _s_ стоит 5, так как перепробовал множество вариантов (так как самоучка - скорее всего чего-то не знаю) с переменными - результат 0. Есть ли решение задачи без объявления массива? или невозможно в зависимости от номера переменной выбрать и изменить нужное свойство данного объекта?
[moder]Оформляйте код тегами (кнопка #)![/moder]
К сообщению приложен файл: 3159025.xls (62.0 Kb)


Сообщение отредактировал Manyasha - Пятница, 19.06.2015, 15:37
 
Ответить
СообщениеДобрый день!
Имеется 22 заблокированных выключателя (togglebutton). При нажатии на "Старт" через InputBox необходимо ввести номер выключателя, который останется заблокированным и изменить цвет его шрифта на красный, остальные разблокировать.
[vba]
Код
s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
ToggleButton_s_.ForeColor = &HFF
ToggleButton_s_.Locked = True
[/vba]
Во вложении вместо номера _s_ стоит 5, так как перепробовал множество вариантов (так как самоучка - скорее всего чего-то не знаю) с переменными - результат 0. Есть ли решение задачи без объявления массива? или невозможно в зависимости от номера переменной выбрать и изменить нужное свойство данного объекта?
[moder]Оформляйте код тегами (кнопка #)![/moder]

Автор - Shtirlits_57rus_
Дата добавления - 19.06.2015 в 15:29
Manyasha Дата: Пятница, 19.06.2015, 16:23 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
Shtirlits_57rus_, можно так:[vba]
Код
s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
'...
Me.Controls("ToggleButton" & s).ForeColor = &HFF
Me.Controls("ToggleButton" & s).Locked = True
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеShtirlits_57rus_, можно так:[vba]
Код
s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
'...
Me.Controls("ToggleButton" & s).ForeColor = &HFF
Me.Controls("ToggleButton" & s).Locked = True
[/vba]

Автор - Manyasha
Дата добавления - 19.06.2015 в 16:23
Shtirlits_57rus_ Дата: Пятница, 19.06.2015, 16:37 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, Manyasha, Вы СУПЕР!
 
Ответить
СообщениеСпасибо, Manyasha, Вы СУПЕР!

Автор - Shtirlits_57rus_
Дата добавления - 19.06.2015 в 16:37
KSV Дата: Пятница, 19.06.2015, 16:51 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
[vba]
Код
Private Sub CommandButton1_Click()
     Dim s As String, objControl As Object
     s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
     If Len(s) Then
         s = "ToggleButton" & s
         For Each objControl In Me.Controls
             If TypeOf objControl Is ToggleButton Then
                 If objControl.Name <> s Then
                     objControl.Locked = False
                 Else
                     objControl.Locked = True
                     objControl.ForeColor = &HFF
                 End If
             End If
         Next
     End If
Exit Sub
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение[vba]
Код
Private Sub CommandButton1_Click()
     Dim s As String, objControl As Object
     s = InputBox("Введите номер кейса, в котором предположительно находится 3000000 рублей", "Зафиксировать кейс с 3000000 рублей")
     If Len(s) Then
         s = "ToggleButton" & s
         For Each objControl In Me.Controls
             If TypeOf objControl Is ToggleButton Then
                 If objControl.Name <> s Then
                     objControl.Locked = False
                 Else
                     objControl.Locked = True
                     objControl.ForeColor = &HFF
                 End If
             End If
         Next
     End If
Exit Sub
[/vba]

Автор - KSV
Дата добавления - 19.06.2015 в 16:51
Бубенчик Дата: Суббота, 02.03.2019, 02:40 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день, у меня возник вопрос, на листе 45 кнопок, решил с помощью переменной воспользоваться циклом (как указано выше) и пересчитать сколько из них нажато, но у меня в результате выдает либо 45 если ищем True, либо 0 если ищем False
[vba]
Код

Sub СчитаемМашины()
Dim КоличествоМашин As Integer
Dim НомерКнопки As Integer
КоличествоМашин = 0

For НомерКнопки = 1 To 45
    If ToggleButton & НомерКнопки = True Then
        КоличествоМашин = КоличествоМашин + 1
    End If
Next

    MsgBox (КоличествоМашин)
    
End Sub
[/vba]
Заранее спасибо за ответ


Я тута новичок
 
Ответить
СообщениеДобрый день, у меня возник вопрос, на листе 45 кнопок, решил с помощью переменной воспользоваться циклом (как указано выше) и пересчитать сколько из них нажато, но у меня в результате выдает либо 45 если ищем True, либо 0 если ищем False
[vba]
Код

Sub СчитаемМашины()
Dim КоличествоМашин As Integer
Dim НомерКнопки As Integer
КоличествоМашин = 0

For НомерКнопки = 1 To 45
    If ToggleButton & НомерКнопки = True Then
        КоличествоМашин = КоличествоМашин + 1
    End If
Next

    MsgBox (КоличествоМашин)
    
End Sub
[/vba]
Заранее спасибо за ответ

Автор - Бубенчик
Дата добавления - 02.03.2019 в 02:40
K-SerJC Дата: Суббота, 02.03.2019, 07:46 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
Цитата Бубенчик, 02.03.2019 в 02:40, в сообщении № 5 ()
у меня возник вопро

это потому что вы обращаетесь к объекту не как в указаном выше коде
как говориться найдите два отличия:
[vba]
Код
Me.Controls("ToggleButton" & s)
ToggleButton & НомерКнопки
[/vba]
:-)


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
Цитата Бубенчик, 02.03.2019 в 02:40, в сообщении № 5 ()
у меня возник вопро

это потому что вы обращаетесь к объекту не как в указаном выше коде
как говориться найдите два отличия:
[vba]
Код
Me.Controls("ToggleButton" & s)
ToggleButton & НомерКнопки
[/vba]
:-)

Автор - K-SerJC
Дата добавления - 02.03.2019 в 07:46
Бубенчик Дата: Суббота, 02.03.2019, 11:05 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
K-SerJC, вот оно что, баезмерная Вам благодарность


Я тута новичок
 
Ответить
СообщениеK-SerJC, вот оно что, баезмерная Вам благодарность

Автор - Бубенчик
Дата добавления - 02.03.2019 в 11:05
Бубенчик Дата: Воскресенье, 03.03.2019, 01:27 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
K-SerJC, хотя, в данном случае выходит ошибка Invalid use of Me keyword. менял Ме. на адрес листа, не помогло, что то не так


Я тута новичок

Сообщение отредактировал Бубенчик - Воскресенье, 03.03.2019, 02:56
 
Ответить
СообщениеK-SerJC, хотя, в данном случае выходит ошибка Invalid use of Me keyword. менял Ме. на адрес листа, не помогло, что то не так

Автор - Бубенчик
Дата добавления - 03.03.2019 в 01:27
Pelena Дата: Воскресенье, 03.03.2019, 07:14 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19526
Репутация: 4635 ±
Замечаний: ±

Excel 365 & Mac Excel
Цитата Бубенчик, 03.03.2019 в 01:27, в сообщении № 8 ()
что то не так

много чего не так:
-- задали свой вопрос в чужой теме в нарушение Правил форума
-- не приложили файл с примером
-- приведённый макрос предназначен для работы с формой, поэтому обращение Me. А у вас, судя по описанию, кнопки на листе. Но так как файла нет, это лишь догадки
-- данную задачу, на мой взгляд, можно решить иначе, проще. Но без файла опять-таки...


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
Цитата Бубенчик, 03.03.2019 в 01:27, в сообщении № 8 ()
что то не так

много чего не так:
-- задали свой вопрос в чужой теме в нарушение Правил форума
-- не приложили файл с примером
-- приведённый макрос предназначен для работы с формой, поэтому обращение Me. А у вас, судя по описанию, кнопки на листе. Но так как файла нет, это лишь догадки
-- данную задачу, на мой взгляд, можно решить иначе, проще. Но без файла опять-таки...

Автор - Pelena
Дата добавления - 03.03.2019 в 07:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!