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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2013, 16:06   #1
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию Заливка ячейки при нажатии CheckBox

Здравствуйте!


Есть UserForm1 на ней есть ComboBox и CheckBox. При вводе числа в ComboBox и нажатии на ОК, оно появляется на Листе1 в столбце С, при следующем вводе числа оно появляется в столбце С в следующей строке и тд.

Подскажите пожалуйста как реализовать задачу.
Если при вводе числа в ComboBox и поставить галочку в CheckBox и нажать ОК, чтобы ячейка с вводимым числом залилась зелёным.Если галочку не ставлю, то заливка не происходит.
and150382 вне форума Ответить с цитированием
Старый 04.02.2013, 16:49   #2
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Записать получилось вот что:

Private Sub CheckBox1_Click()
Range("C10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Но это только для одной ячейки.
А как сделать для всего столбца?
and150382 вне форума Ответить с цитированием
Старый 04.02.2013, 17:24   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вместо
Range("C10").Select
With Selection.Interior
пишем:
With Columns(10).Interior
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.02.2013, 17:45   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если я правильно понял задачу, то можно так:
Код:
Private Sub CommandButton1_Click()
    Dim x As Range
    Set x = Cells(Rows.Count, 3).End(xlUp).Offset(1): x = Val(ComboBox1)
    If CheckBox1 Then x.Interior.ColorIndex = 10
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.02.2013, 10:07   #5
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Доброе утро!
CheckBox1 не работает.
Нужно чтобы если ставлю галочку, то номер документа заливается (столбец С). Если не ставлю, то не заливается. И так до 140 строки.
Посмотрите пожалуйста код в примере, может я что-то не так делаю.


И если кто-то знает подскажите почему у меня при последующем вводе данных в форме , предыдущие затираются.

Код на снятие блокировки листа 6161
Вложения
Тип файла: rar Лист 1.rar (47.4 Кб, 16 просмотров)
and150382 вне форума Ответить с цитированием
Старый 05.02.2013, 10:45   #6
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Цитата:
Сообщение от and150382 Посмотреть сообщение
Доброе утро!



И если кто-то знает подскажите почему у меня при последующем вводе данных в форме , предыдущие затираются.
Этот вопрос снимается. разобрался сам
and150382 вне форума Ответить с цитированием
Старый 05.02.2013, 10:48   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Если при вводе числа в ComboBox и поставить галочку в CheckBox и нажать ОК, чтобы ячейка с вводимым числом залилась зелёным.Если галочку не ставлю, то заливка не происходит.
Эту задачу решает предложенный мною код. Именно по нажатию на кнопку, в зависимости от того, стоит "галочка" в CheckBox-е, или нет, вводимое в следующую свободную ячейку из ComboBox-а число будет либо залито зеленым фоном, либо нет.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.02.2013, 10:57   #8
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

при вводе цифр в ComboBox (myColumn3) и нажатии кнопки "добавить" происходит добавление этой цифры в столбец С.
Если при вводе цифры в ComboBox (myColumn3) ставим галочку в CheckBox1 и нажимаем "добавить", то ячейка с вводимой цифрой должна окрасится в зелёный.

Если при вводе цифры в ComboBox (myColumn3) мы не ставим галочку в CheckBox1 и нажимаем "добавить", то с ячейкой ничего не происходит.
and150382 вне форума Ответить с цитированием
Старый 05.02.2013, 11:05   #9
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Если я вставляю ваш код

Private Sub CommandButton1_Click()
Dim x As Range
Set x = Cells(Rows.Count, 3).End(xlUp).Offset(1): x = Val(ComboBox1)
If CheckBox1 Then x.Interior.ColorIndex = 10
End Sub
то у меня ошибка
CommandButton1_Click() уже существует







пробую так



Private Sub CheckBox1_Click()
Dim x As Range
Set x = Cells(Rows.Count, 3).End(xlUp).Offset(1): x = Val(ComboBox1)
If CheckBox1 Then x.Interior.ColorIndex = 10
End Sub

тоже ошибка
and150382 вне форума Ответить с цитированием
Старый 05.02.2013, 11:09   #10
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Вот с таким кодом получается, но только в одной ячейке.
А как сделать чтобы во всем столбце если ставлю галочку ,то закрашивается определенная ячейка- не знаю.

Private Sub CheckBox1_Click()
Range("C10").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
and150382 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заливка ячейки согласно содержимому spirit-ua Microsoft Office Excel 5 31.01.2013 13:25
Заливка ячейки рисунком. 7vlad37 Microsoft Office Excel 5 01.04.2011 08:45
заливка ячейки цветом в зависимости от результата ьшвкфпщ Microsoft Office Excel 4 08.02.2011 12:44
При нажатии по ячейки открывается форма SkrudjMakdak Microsoft Office Excel 6 28.08.2010 11:30
ормируется объект размером 30х30 и он должен при нажатии на клавишу,двигаться в 8ми направлениях..а при н Krasoto4ka Помощь студентам 0 22.05.2010 17:41