ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Alarm function, disable sound if data is erased (https://www.excelbanter.com/excel-worksheet-functions/237598-alarm-function-disable-sound-if-data-erased.html)

offdah3z

Alarm function, disable sound if data is erased
 
Hello all, I'm trying to use an alarm function of Excel. Basically, if A9
is equal to a certain value, for example 213, I would like a sound to be
played. If not, no sound. I seem to have the coding right for this, but
whenever you erase the data in cell A9, the sound plays. Any suggestions?
All your help is appreciated!! My code is below.

=Alarm(A9,"=213")

and the function I used is below

'Windows API function declaration
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Function Alarm(Cell, Condition)
Dim WAVFile As String
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
On Error GoTo ErrHandler
If Evaluate(Cell.Value & Condition) Then
WAVFile = ThisWorkbook.Path & "\sound.wav"
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
Alarm = True
Exit Function
End If
ErrHandler:
Alarm = False
End Function

Bernard Liengme[_3_]

Alarm function, disable sound if data is erased
 
Below I show the line I used to debug the code, and the change I made to fix
your problem
I am unsure why <blank=213 gets evaluated to TRUE

MsgBox Cell.Value & Condition
If Evaluate(Cell.Value & Condition) And Cell.Value < "" Then

best wishes
--
Bernard V Liengme
Microsoft Excel MVP
http://people.stfx.ca/bliengme
remove caps from email


"offdah3z" wrote in message
...
Hello all, I'm trying to use an alarm function of Excel. Basically, if
A9
is equal to a certain value, for example 213, I would like a sound to be
played. If not, no sound. I seem to have the coding right for this, but
whenever you erase the data in cell A9, the sound plays. Any suggestions?
All your help is appreciated!! My code is below.

=Alarm(A9,"=213")

and the function I used is below

'Windows API function declaration
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Function Alarm(Cell, Condition)
Dim WAVFile As String
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
On Error GoTo ErrHandler
If Evaluate(Cell.Value & Condition) Then
WAVFile = ThisWorkbook.Path & "\sound.wav"
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
Alarm = True
Exit Function
End If
ErrHandler:
Alarm = False
End Function





All times are GMT +1. The time now is 10:48 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com