Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako predvajati zvok, če je v Excelu izpolnjen pogoj?

V Excelu lahko uporabimo pogojno oblikovanje, da oblikujemo in poudarimo celice, da izpolnijo stanje, kot ga potrebujete, včasih pa boste morda želeli predvajati zvok, če je izpolnjen pogoj. Če je na primer vrednost celice v A1 večja kot 300, želim, da se predvaja zvok. Excel ne podpira te funkcije, ta članek, bom predstavil nekaj kod VBA za rešitev te naloge.

Predvaja privzeti sistemski pisk, ki temelji na vrednosti celice s kodo VBA

Igrajte po meri zvok, ki temelji na vrednosti celice, s kodo VBA

Predvaja zvok, če se vrednost celice spremeni v določenem stolpcu s kodo VBA


puščica modra desno mehurček Predvaja privzeti sistemski pisk, ki temelji na vrednosti celice s kodo VBA

Tukaj je priročna koda za predvajanje privzetega zvočnega zvočnega signala, ko je določen pogoj izpolnjen, storite tako:

1. Drži dol ALT + F11 tipke, nato pa odpre Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Moduli Okno.

VBA koda: predvaja privzeti sistemski piskni zvok, ki temelji na vrednosti celice:

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

3. Nato shranite in zaprite to kodno okno, pojdite nazaj na delovni list in vnesite to formulo: = IF (A1> 300, BeepMe (), "") v prazno celico poleg celice vsebuje vrednost, na katero želite predvajati zvok, in nato pritisnite Vnesite ključ, nič ne bo prikazano v celici s formulo, glejte sliko zaslona:

doc predvaja zvok, če je conditon res 1

4. In zdaj, če je vnesena vrednost v celici A1 večja kot 300, se bo predvajal privzeti sistemski pisk.


puščica modra desno mehurček Igrajte po meri zvok, ki temelji na vrednosti celice, s kodo VBA

Če želite predvajati še kak drug zvočni zvok kot privzeti sistemski pisk, tukaj lahko tudi koda VBA naredi uslugo.

1. Drži dol ALT + F11 tipke, nato pa odpre Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduli, in prilepite naslednjo kodo v Moduli Okno.

VBA koda: predvaja določen zvok, ki temelji na vrednosti celice:

#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. Nato shranite in zaprite to kodno okno, se vrnite na delovni list in vnesite to formulo: = IF (A1> 300, SoundMe (), "")v prazno celico poleg celice vsebuje vrednost, na katero želite predvajati zvok, in nato pritisnite Vnesite ključ, nič ne bo prikazano v celici s formulo, glejte sliko zaslona:

doc predvaja zvok, če je conditon res 2

4. Od zdaj naprej, če je v celico A300 vnesena vrednost, večja od 1, se hkrati predvaja poseben zvok.

Opombe: V zgornji kodi lahko zvočno datoteko WAV spremenite v svojo potrebo c: \ windows \ media \ pot do datoteke. Prikaz slike:

doc predvaja zvok, če je conditon res 3


puščica modra desno mehurček Predvaja zvok, če se vrednost celice spremeni v določenem stolpcu s kodo VBA

Če želite predvajati zvok, če se vrednost celice spremeni v določenem stolpcu, lahko uporabite naslednjo kodo VBA.

1. Z desno miškino tipko kliknite zavihek stanja, v katerem želite predvajati zvok, ko vrednost spremenite v stolpcu, nato pa izberite Ogled kode iz kontekstnega menija in v odprtem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazno Modul:

VBA koda: predvaja zvok, če se vrednost celice spremeni v stolpcu:

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

doc predvaja zvok, če je conditon res 4

Opombe: V zgornji kodi, številka 3 v scenariju Stolpci (3) je številka stolpca, za katero želite zvok prikazati, ko se vrednosti v tem stolpcu spremenijo.

2. In nato shranite in zaprite to kodno okno, če se v tretjem stolpcu spremeni vrednost celice, se bo predvajal privzeti sistemski pisk.



Priporočena orodja za produktivnost za Excel

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Shehzad · 4 months ago
    Hey admin, please tell , if i want to save sound file in excel file and i will open my excel file in any computer , can i hear that sound ???
    • To post as a guest, your comment is unpublished.
      skyyang · 4 months ago
      Hello, Shehzad,
      If you apply the first and third VBA code to play a default system beep sound, the sound can be hear from any other computer. But, with the second vba code, you should set the custom sound to your need.

      Note: You should save the workbook as Excel Macro-Enabled Workbook format.
  • To post as a guest, your comment is unpublished.
    Excelakos · 2 years ago
    Hi there
    I try to use the Play a custom sound based on cell value with VBA code but i have a problem. Here is an example:
    I have a time countdown in cell A1 which means value changes per second.
    Then in cell B1 i have inserted =8/(24*60) in a 0:08:00 format
    So the if i use to trigger the sound is if B1>A1,SoundMe(),""
    But the sound will never be heard. I can hear a sound like something is looping and i guess it has something to do with the fact that the value is dynamically changing.
    Then i tried to alter the code in the part Call PlaySound("c:\windows\media\Speech On.wav", _
    0, SND_ASYNC Or SND_FILENAME)
    I changed SND_ASYNC with SND_SYNC.

    This way i managed to play the sound, but it gets repeating forever.

    Is there any solution like to trigger the sound only once meaning just the very first time the criteria is met and then stop ??
    Thank you a lot