Здравствуйте! Уважаемые Гуру, задачка в следующем: нужно, чтобы макрос не работал на листах с определенным именем. Нашел в инете код, но при вставке в модуль рабочей книги он работает на всех листах. Подскажите, где ошибка.
[vba]
Код
' То, что нашел Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) ' Указаны имена нужных листов If InStr(1, "|Лист3|Лист4|Лист5|Лист6|Лист7|", "|" & Sh.Name & "|", vbTextCompare) Then Exit Sub ' Мой код Dim cell As Range For Each cell In Range("G29:J29") cell = cell.Offset(-1) If cell >= cell.Offset(4) Then cell.Interior.Color = RGB(255, 0, 0) ElseIf cell > cell.Offset(3) Then cell.Interior.Color = RGB(0, 255, 0) Else cell.Interior.Color = RGB(255, 242, 204) End If Next cell
End Sub
[/vba]
Здравствуйте! Уважаемые Гуру, задачка в следующем: нужно, чтобы макрос не работал на листах с определенным именем. Нашел в инете код, но при вставке в модуль рабочей книги он работает на всех листах. Подскажите, где ошибка.
[vba]
Код
' То, что нашел Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) ' Указаны имена нужных листов If InStr(1, "|Лист3|Лист4|Лист5|Лист6|Лист7|", "|" & Sh.Name & "|", vbTextCompare) Then Exit Sub ' Мой код Dim cell As Range For Each cell In Range("G29:J29") cell = cell.Offset(-1) If cell >= cell.Offset(4) Then cell.Interior.Color = RGB(255, 0, 0) ElseIf cell > cell.Offset(3) Then cell.Interior.Color = RGB(0, 255, 0) Else cell.Interior.Color = RGB(255, 242, 204) End If Next cell
Здравствуйте. В соответствии с кодом здесь "|Лист3|Лист4|Лист5|Лист6|Лист7|" указываются имена НЕнужных листов
Так как макрос в модуле книги, Range("G29:J29") надо заменить на Sh.Range("G29:J29")
Workbook_SheetSelectionChange - на мой взгляд неудачно выбрано событие, макрос будет срабатывать при любом клике мышкой на листе. Вариант, предложенный в предыдущей теме лучше
Здравствуйте. В соответствии с кодом здесь "|Лист3|Лист4|Лист5|Лист6|Лист7|" указываются имена НЕнужных листов
Так как макрос в модуле книги, Range("G29:J29") надо заменить на Sh.Range("G29:J29")
Workbook_SheetSelectionChange - на мой взгляд неудачно выбрано событие, макрос будет срабатывать при любом клике мышкой на листе. Вариант, предложенный в предыдущей теме лучшеPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816