كيفية تشغيل صوت إذا تم استيفاء شرط في 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. ثم احفظ وأغلق نافذة الكود هذه، الآن، إذا تغيرت قيمة الخلية في العمود الثالث، سيتم تشغيل صوت بيب النظام الافتراضي.
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!