ho provato ad utilizzare il codice così come è postato, ma probabilmente al comando beep devo associare un suono, utilizzando la prima parte del codice.
scusa se ti sto facendo delle domande stupide, ma sono alle prime armi con VBA.
grazie
Non è chiaro quello che vorresti fare. Il Beep è il Beep!
La routine a() postata da Maurizio fa esattamente quello che sembra tu chieda.
Ecco due ulteriori esempi.
Tre Beep in sequenza:
Public Sub m_1()
Dim lng As Long
For lng = 1 To 3
Beep
Application.Wait (Now + TimeValue("0:00:01"))
Next
End Sub
Un Beep quando viene mostrata la seconda MsgBox, cioè quando il valore della variabile del ciclo for è uguale a 2:
Public Sub m_2()
Dim lng As Long
For lng = 1 To 3
If lng = 2 Then
Beep
MsgBox "La variabile del ciclo For vale " & _
lng & ", MessageBox con Beep!"
Else
MsgBox "La variabile del ciclo For vale " & _
lng & ", MessageBox senza Beep."
End If
Next
End Sub
Questo codice invece esegue un file .wav (qui il classico Tada) sia in sistemi a 32 che a 64 bit:
#If Win64 Then
Private Declare PtrSafe Function sndPlaySound _
Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As LongLong) As LongLong
#Else
Private Declare Function sndPlaySound _
Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If
Public Sub mEseguiSuono(ByVal sNomeFile As String)
Dim v As Variant
v = sndPlaySound(sNomeFile, 1)
End Sub
Public Sub m()
mEseguiSuono ("C:\Windows\Media\Tada.wav")
End Sub