جدول المحتويات
في هذه المقالة ، سأوضح لك كيف يمكنك الوصول إلى مرجع خلية في VBA في Excel. ستتعلم كيفية الوصول إلى خلية واحدة ، بالإضافة إلى خلايا متعددة معًا.
تنزيل Workbook
تنزيل هذا الكتاب التدريبي لممارسة المهمة أثناء القراءة هذه المقالة.
مرجع خلية VBA.xlsm
8 طرق للإشارة إلى مرجع الخلية في Excel VBA
هنا لدينا مجموعة بيانات تحتوي على اسم الكتاب ، أنواع الكتب ، و السعر لبعض الكتب في مكتبة تسمى Martin Bookstore.
تقع مجموعة البيانات في النطاق B4: D13 من ورقة العمل.
اليوم هدفنا هو معرفة كيفية إحالة مراجع الخلايا إلى مجموعة البيانات هذه مع VBA.
فيما يلي أفضل 8 طرق للإشارة إلى مرجع خلية باستخدام VBA في Excel.
1. الرجوع إلى مرجع خلية باستخدام كائن النطاق في VBA في Excel
أولاً وقبل كل شيء ، يمكنك الرجوع إلى مرجع خلية باستخدام كائن النطاق من VBA .
يمكنك الرجوع إلى خلية واحدة ونطاق من الخلايا باستخدام كائن Range .
على سبيل المثال ، للوصول إلى الخلية المفردة B4 ، استخدم سطر الكود:
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4")
يحدد الكود التالي الخلية B4 .
ستحدد الخلية B4 في ورقة العمل النشطة.
وبالمثل ، يمكنك الوصول إلى نطاق من الخلايا في هذاالطريق.
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4:D13")
يحدد الكود التالي النطاق B4 : D13 .
سيحدد نطاق الخلايا B4: D13 .
ملاحظة : يمكنك استخدام الكائن Range مباشرة دون التصريح عنه أولاً ، مثل:
Range("B4:D13").Select
أيضًا إذا كنت تريد الوصول إلى أي خلية غير نشطة في ورقة العمل ، فاستخدم اسم ورقة العمل قبل الكائن النطاق .
على سبيل المثال ، للوصول إلى الخلية B4 من الورقة 2 ، استخدم:
Worksheets("Sheet2").Range("B4:D13")
2. الرجوع إلى مرجع خلية باستخدام أرقام الفهرس في VBA في Excel
يمكنك أيضًا الرجوع إلى مرجع خلية باستخدام أرقام الفهرس. ولكن في هذه الطريقة ، يمكنك الإشارة فقط إلى خلية واحدة.
على سبيل المثال ، للوصول إلى الخلية التي تحتوي على رقم الصف 4 ورقم العمود 2 ( B4 ) ، استخدم:
Cells(4, 2))
يحدد الكود التالي مرة أخرى الخلية B4 من ورقة العمل النشطة.
ستحدد الخلية B4 .
ملاحظة: للوصول إلى أي خلية في ورقة عمل غير نشطة ، استخدم اسم ورقة العمل قبل مرجع الخلية.
على سبيل المثال:
Worksheets("Sheet2").Cells(4, 2)
[ نفس الطريقة 1 ] .
3. الرجوع إلى مرجع خلية متعلق بخلية أخرى في VBA في Excel
يمكنك أيضًا الرجوع إلى مرجع خلية متعلق بخلية أخرى في VBA . يجب عليك استخدام وظيفة الإزاحة من VBA من أجلهذا.
للوصول إلى الخلية 1 صف لأسفل و 2 عمود يمين الخلية B4 (D5) ، استخدم:
Range("B4").Offset(1, 2)
الكود التالي يحدد الخلية D5 من ورقة العمل النشطة.
It ' ll حدد الخلية D5 .
ملاحظة: للإشارة إلى أي خلية في ورقة العمل غير نشطة ، استخدم اسم ورقة عمل قبل مرجع الخلية.
على سبيل المثال:
Worksheets("Sheet2").Range("B4").Offset(1, 2)
[ مثل الطريقة 1 و 2 ] .
4. ارجع إلى مرجع الخلية باستخدام تدوين الاختصار في VBA في Excel
يتوفر رمز اختصار للوصول إلى أي مرجع خلية في VBA . يمكنك الإشارة إلى خلية واحدة ونطاق من الخلايا بهذه الطريقة.
للوصول إلى الخلية B4 ، استخدم:
[B4]
أو للوصول إلى النطاق B4: D13 ، استخدم:
[B4:D13]
الكود التالي يحدد النطاق B4: D13 .
سيحدد النطاق B4: D13 .
ملاحظة: للإشارة إلى أي خلية في ورقة عمل غير نشطة ، استخدم اسم ورقة العمل قبل مرجع الخلية.
على سبيل المثال:
Worksheets("Sheet2").[B4:D13]
[ مثل الطرق 1 و 2 و 3 ] .
مماثلة قراءات:
- كيفية قفل خلية في صيغة Excel (طريقتان)
- اختصار مرجع الخلية المطلقة في Excel (4 مفيد أمثلة)
- كيفية الحفاظ على خلية ثابتة في صيغة Excel (4 طرق سهلة)
- استخدام مراجع الخليةفي Excel Formula (3 طرق)
5. الرجوع إلى نطاق مسمى في VBA في Excel
يمكنك الرجوع إلى نطاق مسمى مع VBA في Excel.
دعونا نسمي النطاق B4: D13 من ورقة العمل النشطة كـ Book_List.
الآن يمكننا الرجوع إلى هذا النطاق المسمى بسطر الكود:
Range("Book_List")
يحدد الكود التالي النطاق Book_List ( B4: D13 ).
ستحدد النطاق Book_List .
ملاحظة: للوصول إلى أي خلية في ورقة عمل غير نشطة ، استخدم اسم ورقة العمل قبل مرجع الخلية.
على سبيل المثال:
Worksheets("Sheet2").Range("Book_List")
[ مثل الطرق 1 و 2 و 3 و 4 ] .
6. راجع النطاقات المتعددة في VBA في Excel
يمكنك أيضًا الرجوع إلى نطاقات متعددة في VBA في Excel.
للوصول إلى النطاق B4: D5 ، B7: D8 ، B10: D11 ، استخدم:
Range("B4:D5,B7:D8,B10:D11")
سيحدد النطاقات المتعددة معًا.
أيضًا ، يمكنك استخدام خاصية Union من VBA للوصول إلى نطاقات متعددة معًا.
Union(Range("B4:D5"), Range("B7:D8"), Range("B10:D11"))
أو يمكنك الوصول إلى عدة نطاقات مسماة معًا.
Range("Named_Range_1,Named_Range_2")
أيضًا ، ضع اسم ورقة العمل أمام أوراق العمل غير النشطة.
على سبيل المثال:
Worksheets("Sheet2").Range("B4:D5,B7:D8,B10:D11")
[ مثل الطرق 1 و 2 و 3 و 4 و 5 ]
7. الرجوع إلى الصفوف والأعمدة في VBA في Excel
يمكنك أيضًا الرجوع إلى واحدأو المزيد من الصفوف أو الأعمدة في VBA في Excel.
للوصول إلى الصف الرابع ، استخدم:
Rows (4)
سيحدد الصف الرابع بالكامل.
وبالمثل ، الأعمدة (4) سيصل إلى العمود الرابع بأكمله.
وللوصول إلى صفوف أو أعمدة متعددة معًا ، استخدم خاصية Union لـ VBA .
للوصول إلى الصفوف 4 ، 6 ، 8 ، و 10 معًا ، استخدم:
Union(Rows(4), Rows(6), Rows(8), Rows(10))
سيحدد الصفوف بأكملها 4 و 6 و 8 و 10 .
ملاحظة: أضف اسم ورقة العمل في المقدمة إذا كانت غير نشطة.
على سبيل المثال:
Worksheets("Sheet2").Rows (4)
[ مثل الطريقة 1 و 2 و 3 و 4 و 5 و 6 ]
8. ارجع إلى ورقة العمل الكاملة في VBA في Excel
أخيرًا ، سأوضح لك للإشارة إلى ورقة العمل بأكملها. للوصول إلى ورقة العمل بأكملها في VBA ، استخدم:
Cells
أو للإشارة إلى ورقة عمل غير نشطة (على سبيل المثال ، Sheet2 ) ، استخدم:
Worksheet("Sheet2").Cells
ستحدد ورقة العمل بأكملها Sheet2 .
المحتوى المرتبط: عنوان الخلية النسبي والمطلق في جدول البيانات
أشياء يجب تذكرها
- للوصول إلى خلية واحدة أو أكثر من ورقة العمل النشطة ، يمكنك ذكر اسم ورقة العمل في المقدمة أم لا ، ولكن للوصول إلى خلايا ورقة العمل غير النشطة ، يجب عليك ذكر اسم ورقة العمل في أمام مرجع الخلية.
- حتى يمكنك ذلكالوصول إلى خلايا مصنف غير نشط في VBA ، في هذه الحالة ، يجب عليك ذكر اسم المصنف واسم ورقة العمل أمام مرجع الخلية.
الخاتمة
باستخدام هذه الطرق ، يمكنك الرجوع إلى أي مرجع خلية باستخدام VBA في Excel. هل لديك اسئلة؟ لا تتردد في سؤالنا.