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

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

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

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

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2022, 16:48   #1
Shurik007
Новичок
Джуниор
 
Регистрация: 01.10.2022
Сообщений: 1
По умолчанию Закрасить ячейку при изменения ее значения

Добрый день!

Задача такая: автоматическое окрашивание ячеек желтой заливкой при условии ручного ввода данных в ячейках заданного диапазона.
В моем случае - ручной ввод данных в ячейках столбцов 2-4 таблицы Table4.
Всё вроде работает, но при удалении строк в листе вся строка окрашивается желтым...
Мой код:
Код:
Private Sub Worksheet_Change(ByVal Target As range)

If Not Intersect(Target, Target.Worksheet.range("Table4[[Column2]:[Column4]]")) Is Nothing Then
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10092543
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End Sub
Подскажите пожалуйста, есть ли решение данной проблемы?
Файлик прилагаю.
Вложения
Тип файла: 7z test.7z (13.3 Кб, 4 просмотров)
Shurik007 вне форума Ответить с цитированием
Старый 03.10.2022, 11:14   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,372
По умолчанию

Здравствуйте
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Target.Worksheet.Range("Table4[[Column2]:[Column4]]")) Is Nothing Then
            Target.Interior.Color = 10092543
        End If
End Sub
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 06.10.2022, 17:10   #3
hexor_boo
Разъяснятор
Пользователь
 
Аватар для hexor_boo
 
Регистрация: 21.04.2022
Сообщений: 40
По умолчанию

2 Serge 007,
Код:
If Target.Cells.Count > 1 Then Exit Sub
Это потому что после удаления/очистки ячейки Excel выделяет всю строку?
hexor_boo вне форума Ответить с цитированием
Старый 07.10.2022, 09:25   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,372
По умолчанию

Это потому что ДО удаления строки пользователь выделяет её всю
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрасить ячейку в Delphi (stringgrid) LeonDTym Помощь студентам 7 20.08.2019 16:49
Не получается закрасить ячейку StringGrid с++ Builder Mat Bourn Помощь студентам 13 16.04.2019 13:46
Закрасить ячейку DBGrid по нажатию на кнопку dimok5 C++ Builder 3 24.03.2017 09:02
Как закрасить активную ячейку StringGrid demiancz Общие вопросы Delphi 1 05.05.2013 16:51
Как закрасить в WORD ячейку не полностью chilist Microsoft Office Word 3 24.03.2011 11:55