Vba: كيفية ملء الخلايا الفارغة بقيمة أعلاه


في كثير من الأحيان، قد ترغب في استخدام VBA لملء الخلايا الفارغة في ورقة Excel بقيم الخلايا الموجودة فوقها مباشرة.

للقيام بذلك، يمكنك استخدام بناء الجملة الأساسي التالي:

 Sub Fill_From_Above()
  With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C "
    .Value = .Value
  End With
End Sub

هذا المثال المحدد سوف يملأ جميع الخلايا الفارغة، من الخلية A2 إلى العمود B إلى الصف الأخير الذي يحتوي على قيمة في العمود C.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استخدم VBA لملء الخلايا الفارغة بالقيمة أعلاه

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي توضح النقاط التي تم تسجيلها في ألعاب مختلفة بواسطة لاعبي كرة سلة مختلفين:

لنفترض أننا نريد ملء الخلايا الفارغة في العمودين A وB بقيم الخلايا الموجودة فوقهما.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub Fill_From_Above()
  With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C "
    .Value = .Value
  End With
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن جميع الخلايا الفارغة في عمودي الفريق واللاعب قد تم ملؤها بالقيمة المناسبة من الخلايا الموجودة فوقها.

ملاحظة : استخدمنا xlBlanks لتحديد الخلايا الفارغة في النطاق، ثم استخدمنا =R[-1]C لملء الفراغات بقيمة الخلية التي تعلوها صفًا واحدًا.

والنتيجة النهائية هي أننا تمكنا من ملء جميع الخلايا الفارغة بقيمة الخلايا الموجودة فوقها.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

VBA: كيفية التحقق مما إذا كانت الخلية فارغة
VBA: كيفية استخدام “إذا لم يكن فارغًا”
VBA: كيفية حساب الخلايا التي تحتوي على نص معين

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *