Сразу скажу, что я абсолютный "ноль" в Excel! Но знаю, что с Excel все возможно (формулой или макросом - это не важно). Файл с примером (что должно получиться) прикрепляю. Суть вопроса: Какая формула (или макрос) должна быть, чтобы подсчитывала только пустые ячейки из столбца "В" в ячейку С1, если в столбце "D" шрифт красный (отличающийся от черного)? Или пусть подсчитывает ячейки с красным шрифтом (отличающимся от черного) из столбца "D", если в столбце "В" пустая ячейка. И точно такая же задача: какая формула (или макрос) должна быть, чтобы подсчитывала только пустые ячейки из столбца "В" в ячейку Е1, если в столбце "D" шрифт черный? Названия продуктов могут быть одинаковые, но цвет шрифта разный. И если заполняю столбец "В", то при щелчке на любую другую ячейку, должно быть изменение в ячейке С1 или Е1 соответственно.
Сразу скажу, что я абсолютный "ноль" в Excel! Но знаю, что с Excel все возможно (формулой или макросом - это не важно). Файл с примером (что должно получиться) прикрепляю. Суть вопроса: Какая формула (или макрос) должна быть, чтобы подсчитывала только пустые ячейки из столбца "В" в ячейку С1, если в столбце "D" шрифт красный (отличающийся от черного)? Или пусть подсчитывает ячейки с красным шрифтом (отличающимся от черного) из столбца "D", если в столбце "В" пустая ячейка. И точно такая же задача: какая формула (или макрос) должна быть, чтобы подсчитывала только пустые ячейки из столбца "В" в ячейку Е1, если в столбце "D" шрифт черный? Названия продуктов могут быть одинаковые, но цвет шрифта разный. И если заполняю столбец "В", то при щелчке на любую другую ячейку, должно быть изменение в ячейке С1 или Е1 соответственно.Palladium
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub Set r = Range(Cells(3, 4), Cells(3, 4).End(xlDown)).Offset(0, -2) For Each cl In r.Cells If IsEmpty(cl) Then Select Case cl.Offset(0, 2).Font.ColorIndex Case 1, -4105 black_ = black_ + 1 Case 3 red_ = red_ + 1 End Select End If Next [C1] = red_ [E1] = black_ End Sub
[/vba]
И Вам здравствуйте [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub Set r = Range(Cells(3, 4), Cells(3, 4).End(xlDown)).Offset(0, -2) For Each cl In r.Cells If IsEmpty(cl) Then Select Case cl.Offset(0, 2).Font.ColorIndex Case 1, -4105 black_ = black_ + 1 Case 3 red_ = red_ + 1 End Select End If Next [C1] = red_ [E1] = black_ End Sub
Здравствуйте! Извините, что без приветствия! Вчера после работы решил написать, ну и перешел сразу к делу Спасибо! Это то, что нужно! Попробовал и увидел мой прокол: я не написал, что список будет увеличиваться, то есть будут добавляться новые строки (таблица будет расти вниз и нет определенного порядка какой цвет у названия будет: черный или красный). Попробовал, а не срабатывает с новыми строками
Здравствуйте! Извините, что без приветствия! Вчера после работы решил написать, ну и перешел сразу к делу Спасибо! Это то, что нужно! Попробовал и увидел мой прокол: я не написал, что список будет увеличиваться, то есть будут добавляться новые строки (таблица будет расти вниз и нет определенного порядка какой цвет у названия будет: черный или красный). Попробовал, а не срабатывает с новыми строками Palladium
Сообщение отредактировал Palladium - Вторник, 14.11.2017, 13:28
В том то и дело: Если заполняю. Но изначально ведь не заполнена колонка В, а самые первые всегда заполняется колонки А, С, D. PS: у меня уже были таблицы с макросом, но никогда не появлялось сообщение при сохранении файла: "Предупреждение о конфиденциальной информации: документ содержит макросы, элементы управления ActiveX, данные пакета расширения XML или веб-компоненты. Они могут включать личные сведения, которые нельзя удалить с помощью инспектора документов." Как от этого избавиться? Разрешение макросам стоит.
В том то и дело: Если заполняю. Но изначально ведь не заполнена колонка В, а самые первые всегда заполняется колонки А, С, D. PS: у меня уже были таблицы с макросом, но никогда не появлялось сообщение при сохранении файла: "Предупреждение о конфиденциальной информации: документ содержит макросы, элементы управления ActiveX, данные пакета расширения XML или веб-компоненты. Они могут включать личные сведения, которые нельзя удалить с помощью инспектора документов." Как от этого избавиться? Разрешение макросам стоит.Palladium
Сообщение отредактировал Palladium - Вторник, 14.11.2017, 14:25
В принципе вопрос решен! Но не решен в случае: Подсчитывать ячейки с красным шрифтом (отличающимся от черного) из столбца "D", если в столбце "В" пустая ячейка. И наоборот: подсчитывать ячейки с черным шрифтом из столбца "D", если в столбце "В" пустая ячейка??? Возможно это будет проще решение?!?
В принципе вопрос решен! Но не решен в случае: Подсчитывать ячейки с красным шрифтом (отличающимся от черного) из столбца "D", если в столбце "В" пустая ячейка. И наоборот: подсчитывать ячейки с черным шрифтом из столбца "D", если в столбце "В" пустая ячейка??? Возможно это будет проще решение?!?Palladium