Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 00:29   #1
Игорь Новый
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 2
По умолчанию Работа с формой VBA

Здравствуйте, господа ПРОграммисты! Прошу помочь по трем казалось бы легким вопросам, но почему то дядя Гугл не смог найти на них ответ:
1) есть несколько (скажем 4 шт) OptionButton объединенных в Frame. Как перенести в ячейку Excel (определенную командой Cell) Caption активного буттона?
2) Есть CheckBox, который при его активации блокирует определенный TextBox. Как при этом поменять заливку TextBox (типа неактивным его сделать)?
3) Создал кнопку CommandButton c Caption "выключено". Хотелось бы чтобы при нажатии на кнопку изменился Caption и цвет кнопки на "включено" зеленого цвета! Еще читал что может быть третье состояние кнопки. Мне нужно чтобы при нажатии на кнопку, у нее было три состояния - разного цвета и с разными Caption? Возможно такое?
Мозг кипит! Заранее Большое человеческое спасибо!
Игорь Новый вне форума Ответить с цитированием
Старый 08.12.2012, 00:46   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. в ячейку можно пернести состояния Истина/Ложь (выбран/не выбран) каждого OptionButton персонально. надпись не переносится, поэтому гугль и не знает, как это сделать. а надпись запишите в ячейку сразу -это константа, чего ее переносить
2. если выставить свойство Разрешен в состояние Ложь - он сам станет серым и неактивным
3. возможно три состояния: нажата раз, нажата повторно, нажата и еще не отпущена...

Цитата:
Мозг кипит!
представляю, что испытывал гугль силясь найти ответы на Ваши вопросы...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.12.2012, 03:59   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

У моей кнопки 4 состояния.
1- я убегаю.
Вложения
Тип файла: rar 4 состояния.rar (9.4 Кб, 37 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.12.2012, 08:22   #4
Игорь Новый
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 2
По умолчанию А что про это скажете

гугл все таки нашел вот такое:

Если поместить кнопки принадлежащие одной группе на Frame, то можно использовать вот такую функцию для получения заголовка выбранной кнопки:

Private Function GetOption(ByVal group As Frame) As String
Dim i As Integer
For i = 0 To group.Controls.Count - 1
If (group.Controls(i)) Then
GetOption = group.Controls(i).Caption
Exit For
End If
Next
End Function

Помогите расшифровать? какие значение мне надо поменять если у меня несколько Frame

Doober`у, за кнопку спасибо! В Вашем файле TextBox просто блокируется, но заливку не меняет. Хотел чтобы цвет заливки становился к примеру "светло серым" под цвет формы
Игорь Новый вне форума Ответить с цитированием
Старый 08.12.2012, 12:42   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ничего менять не надо, в качестве параметра передайте в функцию GetOption конкретный фрейм.

во вложении еще один вариант с кнопкой (элемент управления не обязательно делать неактивным, его можно сделать неуловимым).
это я про просьбе руководства писал форму для проведения опроса сотрудников по одному деликатному вопросу.
Вложения
Тип файла: rar Кнопка.rar (15.0 Кб, 33 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.12.2012, 13:08   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.12.2012, 13:17   #7
eikhner
Пользователь
 
Регистрация: 18.03.2012
Сообщений: 68
По умолчанию

вот для формы Сергея " 4 положения кнопки " вставить

Private Sub CheckBox1_Click()
TextBox1.Enabled = CheckBox1.Value
Dim a As Boolean
a = CheckBox1.Value
If a = False Then
TextBox1.BackColor = &HFFFFFF
Else
TextBox1.BackColor = &H8000000F
End If

End Sub
в зависимости от состояния чекбокса меняется заливка тексбокса

или так

Private Sub CheckBox1_Click()

Dim a As Boolean
a = CheckBox1.Value
TextBox1.Visible = a

End Sub
но тогда при открытии формы для TextBox1.Visible установить фалсе
ещё проще
TextBox1.Visible = CheckBox1.Value


если нужно наоборот труе = фалсе и фалсе = труе
тогда
TextBox1.Visible = Not a
но тогда при открытии формы для TextBox1.Visible = True

ещё проще
TextBox1.Visible = Not CheckBox1.Value

Последний раз редактировалось eikhner; 08.12.2012 в 13:41.
eikhner вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Надстройка DLL (XLL) с формой для Excel (без VBA) Louken Microsoft Office Excel 6 09.10.2012 20:04
работа с формой orion3216 Помощь студентам 0 13.03.2012 21:20
VBA работа с пользовательской формой iami Microsoft Office Excel 3 06.07.2011 19:50
работа с формой Олександр17 Общие вопросы Delphi 2 11.12.2010 15:54
Работа с формой. levohotnik Microsoft Office Excel 12 09.02.2010 16:24