كيفية تشغيل صوت إذا تم استيفاء شرط في Excel؟
في 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، لن يتم عرض أي شيء في الخلية التي تحتوي على الصيغة، انظر إلى لقطة الشاشة:
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، لن يتم عرض أي شيء في الخلية التي تحتوي على الصيغة، انظر إلى لقطة الشاشة:
4. من الآن فصاعدًا، إذا تم إدخال قيمة أكبر من 300 في الخلية A1، سيتم تشغيل صوت محدد على الفور.
ملاحظات: في الكود أعلاه، يمكنك تغيير ملف الصوت wav حسب حاجتك من المسار c:\windows\media\. انظر إلى لقطة الشاشة:
تشغيل صوت إذا تغيرت قيمة الخلية في عمود محدد باستخدام كود 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
ملاحظة: في الكود أعلاه، الرقم 3 في النص البرمجي Columns(3) هو رقم العمود الذي تريد تشغيل الصوت عند تغيير القيم في هذا العمود.
2. ثم احفظ وأغلق نافذة الكود هذه، الآن، إذا تغيرت قيمة الخلية في العمود الثالث، سيتم تشغيل صوت بيب النظام الافتراضي.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...
Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير
- تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
- افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!
جميع إضافات Kutools. مثبت واحد
حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.





- حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد