البرمجة

تحسين عرض البيانات في Excel باستخدام VBA

بمجرد أن تكون في الوقت الحالي، يظهر الحاجة إلى تعديل الشفرة لتعرض جميع الصفوف التي تحمل نفس الاسم في صفحة العمل المطلوبة. يمكن تحقيق ذلك عن طريق تخزين البيانات المطابقة في مصفوفة أو نطاق ثم عرضها بالكامل بدلاً من استبدال قيم الخلايا في كل تكرار. هناك طرق مختلفة للقيام بذلك، ومن بينها استخدام متغيرات لتخزين البيانات المتطابقة وإدراجها في الصفحة الثالثة.

في هذا المثال، سأستخدم مصفوفة لتخزين البيانات ثم سأقوم بإدراجها في صفحة العمل المطلوبة. هذا التعديل سيسمح بعرض جميع الصفوف التي تحمل نفس الاسم بدلاً من واحدة فقط.

قبل تطبيق التعديلات، يجب أن نتأكد من أن البيانات المتكررة يتم تخزينها بشكل صحيح في المصفوفة، ثم يتم إدراجها بشكل صحيح في صفحة العمل المطلوبة.

الشفرة المعدلة:

vba
Sub finddata() Dim wsList As Worksheet Dim wsOutput As Worksheet Dim lastrow As Long Dim searchName As String Dim outputRow As Long Dim x As Long ' تعيين صفحة العمل "List" إلى متغير wsList Set wsList = ThisWorkbook.Sheets("List") ' تعيين صفحة العمل المطلوبة لعرض البيانات إلى متغير wsOutput Set wsOutput = ThisWorkbook.Sheets("Sheet3") ' الحصول على الصف الأخير في عمود الأسماء في صفحة العمل "List" lastrow = wsList.Cells(wsList.Rows.Count, 1).End(xlUp).Row ' الحصول على الاسم المطلوب البحث عنه من خلية E7 في صفحة العمل الأولى searchName = Sheet1.Range("E7").Value ' إعادة تعيين الصفوف في صفحة العمل المطلوبة لتجنب إضافة البيانات فوق البيانات القديمة wsOutput.Cells.ClearContents ' تهيئة صف الإخراج للبدء من الصف رقم 2 outputRow = 2 ' بدء البحث عن البيانات المطابقة For x = 2 To lastrow If wsList.Cells(x, 1).Value = searchName Then ' إذا وجد الاسم المطلوب، قم بإدراج الصف بالكامل في صفحة العمل المطلوبة wsList.Rows(x).Copy Destination:=wsOutput.Rows(outputRow) ' زيادة عدد صف الإخراج للتأكد من عدم كتابة فوق البيانات السابقة outputRow = outputRow + 1 End If Next x ' رسالة إخبارية بعد اكتمال البحث MsgBox "Search Complete!", vbInformation End Sub

هذه التعديلات ستسمح بعرض جميع الصفوف التي تحمل نفس الاسم في صفحة العمل المطلوبة. يتم ذلك من خلال استخدام مصفوفة لتخزين البيانات المتطابقة ومن ثم إدراجها في صفحة العمل المطلوبة دفعة واحدة بدلاً من صف واحد في كل تكرار.

المزيد من المعلومات

في عالم العمل اليوم، تكون سرعة الاستجابة والفاعلية في مواجهة المشاكل البرمجية من أهم العوامل التي تؤثر على الإنتاجية وجودة العمل. ومن بين المشكلات الشائعة التي يمكن مواجهتها في العمل مع Excel هي الحاجة إلى عرض البيانات بناءً على معايير محددة بشكل سريع وفعال. في هذا السياق، يأتي لغة VBA (Visual Basic for Applications) لتقديم الحلول والتسهيلات اللازمة.

في المثال السابق، قمنا بوضع رمز VBA للبحث عن البيانات في جدول Excel وعرض البيانات المطابقة في صفحة Excel أخرى. ومع ذلك، كان الرمز الأصلي يعرض صفًا واحدًا فقط يطابق الاسم الذي تم إدخاله في صندوق النص.

بعد التعديلات، يمكننا الآن استخدام الرمز المحدث لعرض جميع الصفوف التي تطابق الاسم المدخل، وذلك بفضل استخدام مصفوفة لتخزين البيانات وإدراجها في الصفحة المطلوبة. هذا التحسين يسمح بتوفير الوقت والجهد عند التعامل مع مجموعات كبيرة من البيانات، حيث يمكن الآن عرض جميع النتائج المطابقة دفعة واحدة بدلاً من تكرار عملية البحث والعرض.

هذا التحسين للرمز يظهر كيف يمكن للتطوير البرمجي أن يجعل عملية العمل أكثر فعالية وسهولة في Excel، ويبرز أهمية التعلم واستخدام لغات البرمجة مثل VBA في بيئات العمل اليومية. بتطوير مهارات البرمجة والاستفادة من الأدوات المتاحة، يمكن للمحترفين في مختلف المجالات تحسين أداءهم وتسهيل العمليات اليومية بشكل كبير.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر