فبا: كيفية العثور على قيمة في عمود (مع مثال)
يمكنك استخدام بناء الجملة الأساسي التالي في VBA للعثور على قيمة في عمود في Excel:
Sub FindValue()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
سيقوم هذا الماكرو بالبحث في العمود A بأكمله من الورقة النشطة حاليًا عن السلسلة “Rockets”، وإذا وجدت، قم بتغيير لون خط الخلية إلى اللون الأحمر وجعل الخط غامقًا.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية البحث عن قيمة في عمود باستخدام VBA
لنفترض أن لدينا مجموعة البيانات التالية التي تحتوي على معلومات حول لاعبي كرة السلة المختلفين:
لنفترض أننا نريد العثور على اسم الفريق “Rockets” في العمود A، وبمجرد العثور عليه، قم بتحويل لون خط الخلية إلى اللون الأحمر وجعل الخط غامقًا.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub FindValues()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن الخط الموجود في الخلية التي تحتوي على السلسلة “Rockets” أصبح الآن باللون الأحمر والغامق.
احتفظت جميع الخلايا الأخرى ببساطة بخطها الأسود.
لاحظ أن الوسيطة MatchCase:=False في التعليمات البرمجية تخبر VBA بإجراء بحث غير حساس لحالة الأحرف.
لذا، إذا كان اسم الفريق في العمود A هو “صواريخ”، فسيبحث الماكرو دائمًا عن تلك السلسلة ويجعل الخط أحمر وغامقًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية كتابة وظائف AVERAGEIF وAVERAGEIFS
VBA: كيفية كتابة وظائف SUMIF وSUMIFS
VBA: كيفية كتابة وظائف COUNTIF وCOUNTIFS