كيفية استخدام formular1c1 في vba (مع أمثلة)
يمكنك استخدام الخاصية FormulaR1C1 في VBA لإنشاء مرجع مطلق أو مرجع نسبي لخلية معينة على ورقة.
هناك طريقتان شائعتان لاستخدام هذه الخاصية:
الطريقة الأولى: استخدم صيغة R1C1 لإنشاء مرجع مطلق
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
عند تشغيل هذا الماكرو المحدد، ستعرض الخلية C5 نتيجة الخلية الموجودة في الصف 1 والعمود 1 مضروبة في 20.
الطريقة الثانية: استخدم صيغة R1C1 لإنشاء مرجع نسبي
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
عند تشغيل هذا الماكرو المحدد، ستعرض الخلية C5 نتيجة الخلية 4 صفوف أعلاه وعمودين على يسارها مضروبة في 20.
توضح الأمثلة التالية كيفية استخدام كل أسلوب عمليًا مع ورقة Excel التي تحتوي على القيمة 10 في الخلية A1 :
مثال 1: استخدم صيغة R1C1 لإنشاء مرجع مطلق
يمكننا إنشاء الماكرو التالي لضرب قيمة الخلية في الصف 1 والعمود 1 في 20 وعرض النتائج في الخلية C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يمكننا أن نرى أن Excel استخدم الصيغة =$A$1*20 لحساب النتيجة في الخلية C5 .
وبما أننا استخدمنا R1C1 في صيغتنا في VBA، فقد قمنا بعمل مرجع مطلق للخلية الموجودة في الصف الأول والعمود الأول، وهي الخلية A1 .
مثال 2: استخدم صيغة R1C1 لإنشاء مرجع نسبي
يمكننا إنشاء الماكرو التالي لضرب قيمة الخلية التي تقع فوق 4 صفوف وعمودين على يسار الخلية C5 في 20 وعرض النتائج في الخلية C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يمكننا أن نرى أن Excel استخدم الصيغة =A1*20 لحساب النتيجة في الخلية C5 .
نظرًا لأننا استخدمنا الأقواس مع R[-4]C[-2] في صيغتنا في VBA، فقد قمنا بعمل مرجع نسبي للخلية الموجودة على بعد 4 صفوف أعلاه وعمودين على يسار الخلية C5 ، وهي الخلية A1 .
ملاحظة : يمكنك العثور على الوثائق الكاملة لخاصية VBA FormulaR1C1 هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: صيغة بسيطة لـ “إذا كانت الخلية تحتوي على”
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى