Добрый день! В файле прикреплен пример, что надо: В ячейке А1 храниться какая то цифра, которая меняется В ячейке С1 условие, что если в А1 цифра 1, то выводит "правильно", в противном случае "не правильно" Надо сделать так, что если хоть один раз в ячейке А1 была записана цифра 1, то значение в ячейке С1 остановилось на "правильно" и больше не менялось, как бы не менялось значение ячейки А1. Как это сделать??
Добрый день! В файле прикреплен пример, что надо: В ячейке А1 храниться какая то цифра, которая меняется В ячейке С1 условие, что если в А1 цифра 1, то выводит "правильно", в противном случае "не правильно" Надо сделать так, что если хоть один раз в ячейке А1 была записана цифра 1, то значение в ячейке С1 остановилось на "правильно" и больше не менялось, как бы не менялось значение ячейки А1. Как это сделать??Nik12
Nik12, здравствуйте. Макрос в модуле листа (срабатывает при событии Change). [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Sheets(1).Cells(1, 1).Text = 1 Then Sheets(1).Cells(1, 3).Formula = "правильно" Application.EnableEvents = False Else Sheets(1).Cells(1, 3).Formula = "не правильно" End If End Sub
[/vba] После установки в ячейку значения "правильно", отслеживание событий отключается, для того, чтобы его опять включить, выполните макрос:[vba]
Код
Sub Enable_events() Application.EnableEvents = True End Sub
[/vba](можно повесить на кнопку)
Nik12, здравствуйте. Макрос в модуле листа (срабатывает при событии Change). [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Sheets(1).Cells(1, 1).Text = 1 Then Sheets(1).Cells(1, 3).Formula = "правильно" Application.EnableEvents = False Else Sheets(1).Cells(1, 3).Formula = "не правильно" End If End Sub
[/vba] После установки в ячейку значения "правильно", отслеживание событий отключается, для того, чтобы его опять включить, выполните макрос:[vba]
Код
Sub Enable_events() Application.EnableEvents = True End Sub
Nik12, откройте файлик в моем предыдущем сообщении, когда Excel скажет, что выполнение макросов отключено (в верхней части книги под лентой всплывет желтая строка), нажимаете кнопку "разрешить" и тестируете файлик - там уже все есть :-)
Nik12, откройте файлик в моем предыдущем сообщении, когда Excel скажет, что выполнение макросов отключено (в верхней части книги под лентой всплывет желтая строка), нажимаете кнопку "разрешить" и тестируете файлик - там уже все есть :-)Samaretz
Manyasha, возможно лучше сделать так, чтобы не отключать - включать события? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) if Sheets(1).Cells(1, 3).Formula = "правильно" then Exit Sub If Sheets(1).Cells(1, 1).Text = 1 Then Sheets(1).Cells(1, 3).Formula = "правильно" _ Else Sheets(1).Cells(1, 3).Formula = "не правильно" End Sub
[/vba]
Manyasha, возможно лучше сделать так, чтобы не отключать - включать события? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) if Sheets(1).Cells(1, 3).Formula = "правильно" then Exit Sub If Sheets(1).Cells(1, 1).Text = 1 Then Sheets(1).Cells(1, 3).Formula = "правильно" _ Else Sheets(1).Cells(1, 3).Formula = "не правильно" End Sub