Страницы: Пред. 1 2 3 След.
RSS
Изменение цвета ярлыка листа при каком либо условии
 
Цитата
sandiro написал: Очень надо
В чём трудность самостоятельно разобраться?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Ну..если б смог сам не спрашивал бы.....
 
sandiro, у Вас есть пример реализации цвета ярлыка листа по условному форматированию. В чём сложность адаптировать под другое условие?
ЗЫ Лень - штука заразная. (Вам лень разобраться, а мне лень делать аналогичное решение)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Помогите пожалуйста. Как сделать чтобы если сумма была больше 0 то есть месяц рабочий, то окрашивалась в зависимости от статуса если закрыт, то зеленым, если не закрыт пусто то желтым. а если сумма равна 0 то в месяце не было работы то ни как не закрашивался ярлычек?
 
В модуль "ЭтаКнига":
Скрытый текст

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
что-то никак не могу запихать этот макрос в свой файл. видимо маловато опыта...
 
В чём сложность? Открыли файл, нажали Alt+F11, слева видите следующее:

по обведенному ПКМ, View code, вставили приведенный код:

Сохранили файл в формате с поддержкой макросов: xls, xlsm, xlsb. Всё.
Изменено: JayBhagavan - 26.07.2016 09:00:54

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
получилось. большое спасибо. нужно по макросам больше работать. на одних формулах не выжить
 
Добрый день уважаемые форумчане!
Подскажите пожалуйста написание макроса, задача-
есть отчет, несколько листов. В каждых листах, в определенных ячейках есть число (значение), которое при правильном заполнении таблиц неизменное. Вопрос, необходим макрос, который проверит во всех нужных листах указанные ячейки и в случае "ЛОЖЬ" перекрасит ярлыки листов в другой цвет. Заранее БЛАГОДАРЕН!
 
Цитата
Алeксандр написал:
Разобрался. Догадался просто продублировать строчку кода
А вот только у вас ярлыки не перекрашиваются,если значение пустое.
У меня вызывает ошибку:

Хотя принцип тот же, за исключением момента, что в моем случае используется не интервал, а две разрозненные ячейки.
Вот ума не приложу, как с этим бороться(
Изменено: goodry - 13.09.2018 10:55:52
 
Цитата
goodry написал:
Вот ума не приложу
Тогда приложите файл-пример и описание задачи.

PS скриншот только активного окна: Alt+PrintScreen
Изменено: Казанский - 13.09.2018 11:04:56
 
я знал про скриншот)
прикладываю описание:

Практически то же самое, что и у https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=47996&am..., за исключением одного:

у меня есть две разрозненные ячейки на одном листе, их значения могут быть только "гвс" или "хвс".

В случае "гвс" в ячейке А4 ярлык Листа1 должен окрашиваться красным, "хвс" - синим;
точно также должно отрабатываться и для ячейки А17.

В текущем варианте при вводе значения "гвс"  в А4 появляется ошибка, на изменение в ячейке А17 вообще никакой реакции :(

UPD
ой, я пропустил этот момент((
Трогаем только два листа - протокол 1 и протокол 2.

значение ячейки А4 влияет на цвет ярлыка листа "протокол 1",
а значение ячейки А17 - на "протокол 2"
Изменено: goodry - 13.09.2018 12:42:41
 
Цитата
goodry написал:
В случае "гвс" в ячейке А4 ярлык Листа1 должен окрашиваться красным, "хвс" - синим
То есть другие листы не трогаем?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A4,A17")) Is Nothing Then
            If Target = "гвс" Then
            Me.Tab.ColorIndex = 3
        ElseIf Target = "хвс" Then
            Me.Tab.ColorIndex = 5
        Else
            Me.Tab.ColorIndex = xlNone
        End If
    End If
End Sub
 
ой, я пропустил этот момент((
Трогаем только два листа - протокол 1 и протокол 2.

значение ячейки А4 влияет на цвет ярлыка листа "протокол 1",
а значение ячейки А17 - на "протокол 2"
 
goodry,
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address
  Case "$A$4":  Sheets("протокол 1").Tab.ColorIndex = GHVS(Target)
  Case "$A$17": Sheets("протокол 2").Tab.ColorIndex = GHVS(Target)
  End Select
End Sub

Private Function GHVS(c As Range)
  Select Case c(1).Value2
  Case "гвс": GHVS = 3
  Case "хвс": GHVS = 5
  Case Else: GHVS = xlNone
  End Select
End Function
А ошибка у вас была, потому что в имени листа пробел впереди был.
 
спасибо огромное! :D
Я шёл не совсем тем путём)
И пробел.. этот дурацкий пробел...как глупо(
 
Привет всем! Надеюсь ветка не совсем заброшена

Пользуясь вышеописанными кодами и советами применил в свой отчет-таблицу последний код. Огромное за него спасибо!

Но в процессе работы возник некий нюанс который я никак не пойму как решить (очень небольшой опыт в сфере макросов и сложных формул)

Суть проблемы: на основе кода выше настроил так что бы сводной таблице отдельные листы отчета (они на каждый день должны быть) выделялись либо красным (маркер 0, не в печать), либо зеленым (маркер 1, в печать). Сделал отдельную строку с маркерами (1 и 0) определения, привязался через маркер за листы и также проставил цвета. Вроде ничего сложного не было. Проблема в том, что маркер я поставил через "=ЕСЛИ" определятся. И ставя маркер ручками (0 или 1) цвет листа меняется нормально, но когда через формулу, ничего менятся не хочет... Так же как если протянуть одно и тоже значение - не меняются цвета литов.

Подскажите что я сделал не так, или может это не возможно сделать...

Файл прилагаю
 
У Вас используется событие листа Change, которое не реагирует на изменение, выполненное формулой.
Попробуйте такой вариант (см. файл).
 
Спасибо ) В целом все получилось, прописал данное событие 31 раз на весь месяц и все вышло нормально.

Пришлось немного переработать систему таблицы, потому что в одной из граф от которой зависит маркер данные подтягивались с другого листа, на котором была проверка данных по киллометражу.

Как временная мера пока что пойдет, буду читать как в принципе устроены сами по себе макросы, потому что на простом бездумном копирование и адаптации чужих макросов далеко не уедешь....

Еще раз большое спасибо
 
Цитата
Никитос94 написал:
прописал данное событие 31 раз
Скорее всего это ошибочный ауть )
 
ну моих познаний в данном деле крайне мало, поэтому я просто аналогично как прописано на три листа (1, 2,3) прописал для 31 дня месяца, изменив нужные значения 🤷‍♂️
 
См. вариант. "Маркеры" не нужны - вычисляем макросом. И не забудьте добавить листы до 31, а то получите ошибку..
 
Добрый вечер!

Введу не много в курс дела. Есть около 15-ти листов в файле excel. В каждом листе есть список из дат. Через условное форматирование я уже настроил, чтобы просроченные даты, относительно даты на "сегодня" красились в красный цвет, а также даты до просрочки которых остался 1 месяц (через сегодня +30) желтым.

Суть вопроса. Могу ли я с помощью макроса, сделать так, чтобы в случае если, например, на листе №5 имеется просроченная дата, чтобы ярлычек этого листа загорался красным? Если да, то как это возможно сделать?
 
напишите макрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
напишите макрос
Игорь, есть только макрос, который ранее указывали в этой теме, но как его оптимизировать под мою ситуацию не совсем понимаю.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        If Target = "Да" Then
            Sheets("Лист2").Tab.ColorIndex = 3
        ElseIf Target = "Нет" Then
            Sheets("Лист2").Tab.ColorIndex = 5
        Else
            Sheets("Лист2").Tab.ColorIndex = xlNone
        End If
    End If
End Sub
Изменено: Maxim Borissov - 10.01.2021 20:05:23
 
и не удивительно...
этот макрос можно адаптировать под вашу задачу, ровно на столько же, как и адаптировать буквы О,П,Ж,А для написания слова ВЕЧНОСТЬ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Добрый день! Прошу помощи! Напишите мне, пожалуйста, макрос  в Exel2003. Мне надо изменять цвет ярлыка в зависимости от дней недели. Есть 2 столбца: в одном числа месяца (1-30/31), в другом - день недели. Если день недели :суббота или воскресенье, то ярлык страницы (всего страниц 30/31  в зависимости от месяца) должен быть красным, в противном случае - неокрашенным.
 
Уважаемые форумчане, помогите, пожалуйста....
 
Лариса Доброчасова, добрый вечер! Как выглядят в файле столбцы и листы показать можете?
 
Игорь, добрый день. Отправила файл...
Страницы: Пред. 1 2 3 След.
Наверх