كيف يمكن تشغيل صوت عند استيفاء شرط معين في Excel؟
في Excel، يمكنك استخدام التنسيق الشرطي لتنسيق الخلايا وتمييزها وفقًا لاحتياجاتك، ولكن قد ترغب أحيانًا في تشغيل صوت عند استيفاء شرطٍ معين. على سبيل المثال، إذا كانت القيمة في الخلية A1 أكبر من 300، فقد ترغب في تشغيل صوت تنبيه. ولأن Excel لا يدعم هذه الميزة افتراضيًا، سأقدّم في هذا المقال بعض أكواد VBA التي تُحقّق هذه المهمة بفعالية.
تشغيل صوت تنبيه النظام الافتراضي استنادًا إلى قيمة الخلية باستخدام كود VBA
تشغيل صوت مخصص استنادًا إلى قيمة الخلية باستخدام كود VBA
تشغيل صوت عند تغيّر قيمة الخلية في تحديد العمود باستخدام كود VBA
تشغيل صوت تنبيه النظام الافتراضي استنادًا إلى قيمة الخلية باستخدام كود VBA
إليك كودًا مفيدًا لتشغيل صوت تنبيه النظام الافتراضي عندما يتم استيفاء شرطٍ معين، يُرجى اتباع الخطوات التالية:
1. اضغط مع الاستمرار على مفتاحَيALT + F11، وسيفتح ذلك نافذةMicrosoft Visual Basic for Applications.
2. انقرإدراج > وحدة نمطية (Module)، ثم الصق الكود التالي في نافذةالوحدة النمطية (Module).
كود 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. انقرإدراج > وحدة نمطية (Module)، ثم الصق الكود التالي في نافذةالوحدة النمطية (Module).
كود 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. بدءًا من الآن، كلما أدخلتَ في الخلية A1 قيمةً تزيد عن 300، سيُشغَّل صوتٌ معيّنٌ فورًا.
ملاحظات: في الكود أعلاه، يمكنك تغيير ملف الصوت (WAV) حسب حاجتك من المسارc:\windows\media\. راجع لقطة الشاشة:

تشغيل صوت عند تغيّر قيمة الخلية في تحديد العمود باستخدام كود VBA
إذا كنت ترغب في تشغيل صوت كلما تغيّرت قيمة خلية ضمن عمود معيّن، فما عليك سوى تطبيق كود VBA التالي.
1. انقر بزر الماوس الأيمن على لسان الورقة التي تريد تشغيل صوتٍ عند تغيُّر قيمةٍ في أحد أعمدتها، ثم اخترعرض الكود (View Code)من القائمة السياقية. وبعد فتح نافذة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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل