VBA макрос в ексель который срабатывает на изменение значения в ячейке
Сделал парсер в ексель который обновляется каждую минуту и хотелось бы что б макрос издавал звук при изменении данных в второй строке. Я далеко не програмист (не бейте палками).
Private Sub Worksheet_Calculate()
If (старое значение ячейки <> новое значение той же ячейки) Then
ExecuteExcel4Macro "sound.play(,""C:\Windows\Media\Windows NotifyEmail.wav"")"
End If
End Sub
Ответы (1 шт):
Автор решения: vikttur
→ Ссылка
Вернемся на шаг назад (Undo), запишем в переменную предыдущее значение ячейки, вернемся обратно, сравним предыдущее и текущее значения:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim testvalue As Long
If Not Application.Intersect(Range("A2"), Target) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
With Application: .ScreenUpdating = False: .EnableEvents = False: End With
Application.Undo
testvalue = Target.Value
Application.Undo
If testvalue <> Target.Value Then Beep
With Application: .ScreenUpdating = True: .EnableEvents = True: End With
End If
End Sub