İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Excel-də bir şərt yerinə yetirildikdə səs oynamaq necə?

Excel-də şərtləri yerinə yetirmək üçün hüceyrələri formatlamaq və vurğulamaq üçün şərti formatlaşdırma tətbiq edə bilərik, lakin bəzən bir şərt yerinə yetirildikdə bir səs oynamaq istəyə bilərsiniz. Məsələn, A1-də hüceyrə dəyəri 300-dən çoxdur, səs səslənməsini istəyirəm. Excel bu funksiyanı dəstəkləmir, bu məqalədə, bu vəzifəni həll etmək üçün bəzi VBA kodları təqdim edəcəyəm.

VBA kodu ilə hüceyrə dəyərinə əsaslanan bir default sistem bip səsi çalın

VBA kodu ilə hüceyrə dəyəri əsasında xüsusi bir səs oynayır

VBA koduyla xüsusi sütunda hüceyrə dəyəri dəyişirsə səs səslənir


arrow mavi sağ bubble VBA kodu ilə hüceyrə dəyərinə əsaslanan bir default sistem bip səsi çalın

Xüsusi bir şərt yerinə yetirildikdə, default sistem səs siqnalı səsləndirmək üçün lazımlı bir kod istifadə edin:

1. Basıb saxlayın ALT + F11 düymələri, sonra açar Proqramlar üçün Microsoft Visual Basic pəncərə.

2. Basın Taxmaq > Modules, və aşağıdakı kodu yapışdırın Modules Pəncərə.

VBA kodu: Bir hüceyrə dəyərinə əsaslanan default sistem səsləndirilməsini çalın:

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

3. Sonra bu kod pəncərəsini saxlamaq və bağlamaq, iş səhifəsinə geri qayıdın və bu formulu daxil edin: = IF (A1> 300, BeepMe (), "") hüceyrənin yanında boş bir hüceyrəyə daxil etmək, səs əsasında səslənmək istədiyiniz dəyəri ehtiva edir və sonra basın Daxil edin açar sözlər, heç bir şey formula hüceyrəsinə görünməyəcək, ekran görüntüsünə baxın:

Doğru 1 şərhi varsa, doc səs oynayır

4. İndi, A1 hücresindeki girilen dəyər 300-dən çox olduqda, bir default sistem səs səsi səsləndiriləcək.


arrow mavi sağ bubble VBA kodu ilə hüceyrə dəyəri əsasında xüsusi bir səs oynayır

Varsayımlı sistem səs səsi səsindən başqa səslər oynamaq istəyirsinizsə, burada da bir VBA kodu sizə bir xeyir verə bilər.

1. Basıb saxlayın ALT + F11 düymələri, sonra açar Proqramlar üçün Microsoft Visual Basic pəncərə.

2. Basın Taxmaq > Modules, və aşağıdakı kodu yapışdırın Modules Pəncərə.

VBA kodu: Bir hüceyrə dəyərinə əsasən xüsusi səsləri çalın:

#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. Sonra bu kod pəncərəsini saxlamaq və bağlamaq, iş səhifəsinə qayıdın və bu formulu daxil edin: = IF (A1> 300, SoundMe (), "")hüceyrənin yanında boş bir hüceyrəyə daxil etmək, səs əsasında səslənmək istədiyiniz dəyəri ehtiva edir və sonra basın Daxil edin açar sözlər, heç bir şey formula hüceyrəsinə görünməyəcək, ekran görüntüsünə baxın:

Doğru 2 şərhi varsa, doc səs oynayır

4. Bundan sonra, əgər 300-dən daha yüksək bir dəyər A1 hücresinə daxil edilsə, xüsusi səs bir anda oynanacaq.

Qeydlər: Yuxarıda göstərilən kodda, səsli wav faylını ehtiyacınızdan dəyişə bilərsiniz c: \ windows \ media \ fayl yolu. Ekran görüntüsünə baxın:

Doğru 3 şərhi varsa, doc səs oynayır


arrow mavi sağ bubble VBA koduyla xüsusi sütunda hüceyrə dəyəri dəyişirsə səs səslənir

Hüceyrə dəyəri müəyyən sütunda dəyişirsə, səs oynamaq istəyirsinizsə, aşağıdakı VBA kodunu tətbiq edə bilərsiniz.

1. Sütundakı dəyər dəyişdirildikdə bir səs oynamaq istədiyiniz cədvəl sekmesini sağ basın və sonra seçin Kodları baxın kontekst menyusundan və açıldı Proqramlar üçün Microsoft Visual Basic pəncərədə, boş kodu daxil edin və aşağıdakı kodu yapışdırın:

VBA kodu: Sütunda hüceyrə dəyəri dəyişirsə səslə:

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

Doğru 4 şərhi varsa, doc səs oynayır

Qeyd: Yuxarıda göstərilən kodda nömrə 3 skriptdə Sütunlar (3) bu sütundakı dəyər dəyişikliyində səs oynamaq istədiyiniz sütun nömrəsi.

2. Üçüncü sütunda bir hüceyrə dəyəri dəyişirsə, indi bu kod pəncərəsini saxlayıb yaxınlaşdırın, bir default sistem bip səsi səsləndiriləcək.



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

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 · 2 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 · 2 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