Come riprodurre un suono se una condizione viene soddisfatta in Excel?
In Excel, possiamo applicare la formattazione condizionale per formattare ed evidenziare le celle per soddisfare la condizione di cui hai bisogno, ma, a volte, potresti voler riprodurre un suono se una condizione è soddisfatta. Ad esempio, se il valore della cella in A1 è maggiore di 300, voglio che venga riprodotto un suono. Excel non supporta questa funzione, in questo articolo introdurrò alcuni codici VBA per risolvere questa attività.
Riproduci un segnale acustico di sistema predefinito in base al valore della cella con codice VBA
Riproduci un suono personalizzato basato sul valore della cella con il codice VBA
Riproduci un suono se il valore della cella cambia in una colonna specifica con codice VBA
Riproduci un segnale acustico di sistema predefinito in base al valore della cella con codice VBA
Ecco un codice utile per riprodurre un segnale acustico di sistema predefinito quando viene soddisfatta una condizione specifica, per favore fai come segue:
1. Tenere premuto il tasto ALT + F11 chiavi, quindi apre il file Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
Codice VBA: riproduce un segnale acustico di sistema predefinito in base a un valore di cella:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Quindi salva e chiudi questa finestra del codice, torna al foglio di lavoro e inserisci questa formula: = SE (A1> 300, BeepMe (), "") in una cella vuota accanto alla cella contiene il valore su cui si desidera riprodurre un suono, quindi premere entrare chiave, nulla verrà visualizzato nella cella della formula, vedi screenshot:
4. E ora, se il valore inserito nella cella A1 è maggiore di 300, verrà riprodotto un segnale acustico di sistema predefinito.
Riproduci un suono personalizzato basato sul valore della cella con il codice VBA
Se vuoi riprodurre un suono diverso dal segnale acustico di sistema predefinito, anche qui un codice VBA può farti un favore.
1. Tieni premuto il ALT + F11 chiavi, quindi apre il file Microsoft Visual Basic, Applications Edition finestra.
2. Clicchi inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
Codice VBA: riproduci un suono specifico in base al valore di una cella:
#If Win64 Then
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
#Else
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
#End If
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Function SoundMe() As String
'Updateby Extendoffice 20161223
Call PlaySound("c:\windows\media\Speech On.wav", _
0, SND_ASYNC Or SND_FILENAME)
SoundMe = ""
End Function
3. Quindi salva e chiudi questa finestra del codice, torna al foglio di lavoro e inserisci questa formula: = SE (A1> 300, SoundMe (), "")in una cella vuota accanto alla cella contiene il valore su cui si desidera riprodurre un suono, quindi premere entrare chiave, nulla verrà visualizzato nella cella della formula, vedi screenshot:
4. D'ora in poi, se nella cella A300 viene inserito un valore maggiore di 1, verrà riprodotto immediatamente un suono specifico.
Note: Nel codice sopra, puoi modificare il file wav audio in base alle tue esigenze da c: \ windows \ media \ percorso del file. Vedi screenshot:
Riproduci un suono se il valore della cella cambia in una colonna specifica con codice VBA
Se si desidera riprodurre un suono se il valore della cella cambia in una colonna specifica, è possibile applicare il seguente codice VBA.
1. Fai clic con il pulsante destro del mouse sulla scheda del foglio su cui desideri riprodurre un suono quando il valore cambia in una colonna, quindi scegli Visualizza codice dal menu contestuale e nel file Microsoft Visual Basic per le applicazioni finestra, copia e incolla il seguente codice nel modulo vuoto:
Codice VBA: riproduce un suono se il valore della cella cambia in una colonna:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20161223
Dim xCell As Range
On Error Resume Next
If Target.Columns.Count = 1 Then
If Intersect(Target, Columns(3)) Is Nothing Then
Exit Sub
Else
For Each xCell In Columns(3)
On Error Resume Next
If (xCell.Value = Target.Value) And (xCell.Value <> "") Then
Beep
Exit For
End If
Next
End If
End If
End Sub
Note:: Nel codice sopra, il numero 3 nella sceneggiatura Colonne (3) è il numero della colonna che si desidera riprodurre quando il valore cambia in questa colonna.
2. Quindi salva e chiudi questa finestra di codice, ora, se il valore di una cella cambia nella terza colonna, verrà riprodotto un segnale acustico di sistema predefinito.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!