كيفية تشغيل صوت إذا تم استيفاء شرط في 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.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!