Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Использование разных макросов в зависимости от выбора значения в ячейке.

Автор Андрей Олейник, 15.09.2017, 16:30

« назад - далее »

Андрей Олейник

Добрый день!

Прошу помощи с файлом:
Необходимо, чтобы при выборе из списка в ячейке E7 значения "1" или "2" запускался макрос:
Private Sub Worksheet_Change(ByVal Target As Range)
        If Application.Sum([N11:N47]) = 30 Then
            ActiveSheet.Tab.ColorIndex = 4
       
        ElseIf Application.Sum([N11:N47]) < 30 Then
            ActiveSheet.Tab.ColorIndex = 3
           
        ElseIf Application.Sum([N11:N47]) > 30 Then
            ActiveSheet.Tab.ColorIndex = 4
        Else
            ActiveSheet.Tab.ColorIndex = xlNone
        End If
  End Sub

А при выборе значения "3":
Private Sub Worksheet_Change(ByVal Target As Range)
        If Application.Sum([N11:N47]) = 34 Then
            ActiveSheet.Tab.ColorIndex = 4
       
        ElseIf Application.Sum([N11:N47]) < 34 Then
            ActiveSheet.Tab.ColorIndex = 3
           
        ElseIf Application.Sum([N11:N47]) > 34 Then
            ActiveSheet.Tab.ColorIndex = 4
        Else
            ActiveSheet.Tab.ColorIndex = xlNone
        End If
  End Sub

Ссылка на файл: https://1drv.ms/x/s!AseehskCWFwQg9Bs_wl_QUqMsu4ApQ.

Заранее благодарю за помощь.

kuklp

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$E$7" Then Exit Sub
    If Target < 3 Then Exam12 Application.sum([N11:N47]), [E7] Else _
    Exam12 Application.sum([N11:N47]), [E7]
End Sub

Private Sub Exam12(sum, num)
    If sum >= 30 Then Me.Tab.ColorIndex = 4 Else Me.Tab.ColorIndex = 3
End Sub
Private Sub Exam3(sum, num)
    If sum >= 34 Then Me.Tab.ColorIndex = 4 Else Me.Tab.ColorIndex = 3
End Sub
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Андрей Олейник

#2
Вставил в лист, не работает.(((
Меняет цвет ярлычка только при смене значения в ячейке E7...

kuklp

А Вы что просили?
Цитата: Андрей Олейник от 15.09.2017, 16:30Необходимо, чтобы при выборе из списка в ячейке E7 значения "1" или "2" запускался макрос
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771