Salt la conținutul principal

Cum să redați un sunet dacă o condiție este îndeplinită în Excel?

Autor: Xiaoyang Ultima modificare: 2024-08-08

În Excel, putem aplica formatarea condițională pentru formatare și evidenția celulele pentru a îndeplini condiția după cum aveți nevoie, dar, uneori, poate doriți să redați un sunet dacă este îndeplinită o condiție. De exemplu, dacă valoarea celulei din A1 este mai mare de 300, vreau să se redea un sunet. Excel nu acceptă această caracteristică, în acest articol, voi introduce câteva coduri VBA pentru a rezolva această sarcină.

Redați un sunet sonor implicit al sistemului pe baza valorii celulei cu codul VBA

Redați un sunet personalizat pe baza valorii celulei cu codul VBA

Redați un sunet dacă valoarea celulei se schimbă într-o anumită coloană cu cod VBA


Redați un sunet sonor implicit al sistemului pe baza valorii celulei cu codul VBA

Iată un cod la îndemână pentru a reda un sunet sonor implicit al sistemului atunci când este îndeplinită o anumită condiție.

1. Țineți apăsată tasta ALT + F11 , apoi deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: redați un sunet de sistem implicit pe baza unei valori a celulei:

Function BeepMe() As String
    Beep
    BeepMe = ""
End Function

3. Apoi salvați și închideți această fereastră de cod, reveniți la foaia de lucru și introduceți această formulă: = IF (A1> 300, BeepMe (), "") într-o celulă goală de lângă celulă conține valoarea pe care doriți să redați un sunet, apoi apăsați Intrați tasta, nimic nu va fi afișat în celula formulă, consultați captura de ecran:

o captură de ecran care arată cum se redă sunetul implicit al sistemului atunci când valoarea unei celule se potrivește cu o anumită condiție

4. Și acum, dacă valoarea introdusă în celula A1 este mai mare de 300, va fi redat un sunet de sistem implicit.


Redați un sunet personalizat pe baza valorii celulei cu codul VBA

Dacă doriți să redați alt sunet decât sunetul sonor implicit al sistemului, aici și un cod VBA vă poate face o favoare.

1. Țineți apăsat butonul ALT + F11 , apoi deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: redați un sunet specific bazat pe valoarea unei celule:

#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. Apoi salvați și închideți această fereastră de cod, reveniți la foaia de lucru și introduceți această formulă: = IF (A1> 300, SoundMe (), "")într-o celulă goală de lângă celulă conține valoarea pe care doriți să redați un sunet, apoi apăsați Intrați tasta, nimic nu va fi afișat în celula formulă, consultați captura de ecran:

o captură de ecran care arată cum să redați un sunet personalizat atunci când valoarea unei celule se potrivește cu o anumită condiție

4. De acum înainte, dacă o valoare mai mare de 300 este introdusă în celula A1, un sunet specific va fi redat simultan.

notițe: În codul de mai sus, puteți schimba fișierul wav de sunet în funcție de nevoile dvs. c: \ windows \ media \ calea fișierului. Vedeți captura de ecran:

o captură de ecran cu selectarea unui sunet


Redați un sunet dacă valoarea celulei se schimbă într-o anumită coloană cu cod VBA

Dacă doriți să redați un sunet dacă valoarea celulei se schimbă într-o anumită coloană, puteți aplica următorul cod VBA.

1. Faceți clic dreapta pe fila de foaie pe care doriți să redați un sunet atunci când valoarea se schimbă într-o coloană, apoi alegeți Afișați codul din meniul contextual și în meniul deschis Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod în modulul gol:

Cod VBA: redați un sunet dacă valoarea celulei se schimbă într-o coloană:

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

o captură de ecran cu utilizarea unui cod VBA

notițe: În codul de mai sus, numărul 3 în scenariu Coloane (3) este numărul coloanei pe care doriți să redați sunetul atunci când valoarea se schimbă în această coloană.

2. Și apoi salvați și închideți această fereastră de cod, acum, dacă o valoare a celulei se schimbă în a treia coloană, va fi redat un sunet de sistem implicit.


Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!