Skip to main content

كيفية تشغيل صوت إذا تم استيفاء شرط في Excel؟

Author: Xiaoyang Last Modified: 2025-05-30

في Excel، يمكننا تطبيق التنسيق الشرطي لتنسيق وإبراز الخلايا لتلبية الشرط كما تحتاج، ولكن في بعض الأحيان، قد ترغب في تشغيل صوت إذا تم استيفاء شرط معين. على سبيل المثال، إذا كانت قيمة الخلية في A1 أكبر من 300، أريد أن يتم تشغيل صوت. Excel لا يدعم هذه الميزة، في هذه المقالة، سأقدم بعض أكواد VBA لحل هذه المهمة.

تشغيل صوت بيب النظام الافتراضي بناءً على قيمة الخلية باستخدام كود VBA

تشغيل صوت مخصص بناءً على قيمة الخلية باستخدام كود VBA

تشغيل صوت إذا تغيرت قيمة الخلية في عمود محدد باستخدام كود VBA


تشغيل صوت بيب النظام الافتراضي بناءً على قيمة الخلية باستخدام كود VBA

إليك رمزًا مفيدًا لتشغيل صوت بيب النظام الافتراضي عندما يتم استيفاء شرط معين، يرجى القيام بما يلي:

1. اضغط باستمرار على مفتاحي ALT + F11، ثم سيتم فتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.

كود VBA: تشغيل صوت بيب النظام الافتراضي بناءً على قيمة الخلية:

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

3. ثم احفظ وأغلق نافذة الكود هذه، عد إلى ورقة العمل، وأدخل هذه الصيغة: =IF(A1>300,BeepMe(),"") في خلية فارغة بجانب الخلية التي تحتوي على القيمة التي تريد تشغيل الصوت بناءً عليها، ثم اضغط على مفتاح Enter، لن يتم عرض أي شيء في الخلية التي تحتوي على الصيغة، انظر إلى لقطة الشاشة:

a screenshot showing how to play default system beep sound when a cell value matches a certain condition

4. والآن، إذا كانت القيمة المدخلة في الخلية A1 أكبر من 300، سيتم تشغيل صوت بيب النظام الافتراضي.


تشغيل صوت مخصص بناءً على قيمة الخلية باستخدام كود VBA

إذا كنت ترغب في تشغيل صوت آخر غير صوت بيب النظام الافتراضي، فإليك أيضًا كود VBA يمكنه مساعدتك.

1. اضغط باستمرار على مفتاحي ALT + F11، ثم سيتم فتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.

كود VBA: تشغيل صوت محدد بناءً على قيمة الخلية:

#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. ثم احفظ وأغلق نافذة الكود هذه، عد إلى ورقة العمل، وأدخل هذه الصيغة: =IF(A1>300,SoundMe(),"") في خلية فارغة بجانب الخلية التي تحتوي على القيمة التي تريد تشغيل الصوت بناءً عليها، ثم اضغط على مفتاح Enter، لن يتم عرض أي شيء في الخلية التي تحتوي على الصيغة، انظر إلى لقطة الشاشة:

a screenshot showing how to play a custom sound when a cell value matches a certain condition

4. من الآن فصاعدًا، إذا تم إدخال قيمة أكبر من 300 في الخلية A1، سيتم تشغيل صوت محدد على الفور.

ملاحظات: في الكود أعلاه، يمكنك تغيير ملف الصوت wav حسب حاجتك من المسار c:\windows\media\. انظر إلى لقطة الشاشة:

a screenshot of selecting a sound


تشغيل صوت إذا تغيرت قيمة الخلية في عمود محدد باستخدام كود VBA

إذا كنت ترغب في تشغيل صوت إذا تغيرت قيمة الخلية في عمود محدد، يمكنك تطبيق كود VBA التالي.

1. انقر بزر الماوس الأيمن على تبويب الورقة الذي تريد تشغيل صوت عند تغيير القيم في عمود، ثم اختر عرض الكود من قائمة السياق، وفي نافذة Microsoft Visual Basic for applications التي تم فتحها، انسخ والصق الكود التالي في الوحدة الفارغة:

كود VBA: تشغيل صوت إذا تغيرت قيمة الخلية في عمود:

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

a screenshot of using a VBA code

ملاحظة: في الكود أعلاه، الرقم 3 في النص البرمجي Columns(3) هو رقم العمود الذي تريد تشغيل الصوت عند تغيير القيم في هذا العمود.

2. ثم احفظ وأغلق نافذة الكود هذه، الآن، إذا تغيرت قيمة الخلية في العمود الثالث، سيتم تشغيل صوت بيب النظام الافتراضي.


أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!