تغيير حجم VBA | كيفية استخدام خاصية تغيير الحجم في Excel VBA؟ (مع أمثلة)
تغيير حجم Excel VBA
تغيير الحجم هو خاصية متاحة في VBA لتغيير أو تغيير حجم نطاق الخلايا من الخلية النشطة حسب الحاجة. على سبيل المثال ، افترض أنك في الخلية B5 ، ومن هذه الخلية إذا كنت تريد تحديد 3 صفوف وعمودين ، يمكننا تغيير حجم النطاق باستخدام خاصية RESIZE لـ VBA.
بناء جملة خاصية تغيير حجم VBA
يوجد أدناه بناء جملة خاصية VBA RESIZE.
النطاق (). تغيير الحجم ([حجم الصف] ، [حجم العمود])أولاً ، نحتاج إلى توفير أي خلية نحتاج إلى تغيير حجمها باستخدام كائن النطاق .
ثم استخدم خاصية excel VBA Resize وفي هذه الخاصية ، نحتاج إلى توفير حد لحجم الصف وحد حجم العمود . بناءً على أرقام الصفوف المتوفرة ورقم العمود ، سيتم تغيير حجمها.
أمثلة على استخدام Resize في VBA
فيما يلي أمثلة لاستخدام تغيير الحجم في Excel VBA.
يمكنك تنزيل VBA Resize Excel Template هنا - VBA Resize Excel Template
مثال 1
افترض أن لديك بيانات من خلية A1 إلى B14 ومن خلية A1 إذا كنت تريد تحديد 3 صفوف لأسفل وعمودين من النطاق الأيسر يمكننا القيام بذلك باستخدام خاصية RESIZE في Excel VBA.
فيما يلي البيانات التي نستخدمها في هذا المثال.
لذلك ، أولاً ، نحتاج إلى توفير مرجع الخلية الأول أو نقطة البداية باستخدام كائن RANGE ، في هذا المثال ، تكون نقطة البداية هي الخلية A1.
رمز:
نطاق Resize_Example () الفرعي ("A1"). End Sub
لهذا النطاق ، استخدم خاصية RESIZE.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (End Sub
الوسيطة الأولى لـ RESIZE هي حجم الصف لذلك نحتاج إلى تحديد 3 صفوف من البيانات وتوفير القيمة العددية لـ 3.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (3، End Sub
الوسيطة التالية هي حجم العمود لهذا أدخل كيفية تحديد الأعمدة ، وسأدخل 3 أعمدة.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (3،3) End Sub
بمجرد الانتهاء من تغيير الحجم ، نحتاج إلى توفير ما نحتاج إلى القيام به بهذا النطاق. سأختار فقط طريقة "تحديد" للبدء.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (3، 3). حدد End Sub
قم بتشغيل الكود ومعرفة عدد الصفوف وعدد الأعمدة التي ستختارها.
كما ترى أعلاه من الخلية A1 ، فقد حددت ثلاثة صفوف لأسفل وثلاثة أعمدة إلى اليمين.
المثال رقم 2
الآن ألق نظرة على كود فبا أدناه.
في رمز أعلاه ل صف الحجم، قمنا بتوريد خلية فارغة و العمود الحجم، قمنا بتوريد 3.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (0، 3). حدد End Sub
قم بتشغيل الكود ومعرفة عدد الصفوف وعدد الأعمدة التي ستختارها.
كما ترى ، فقد حدد فقط صف الخلية النشط ، أي الصف الأول وثلاثة أعمدة. وذلك لأن ل صف الحجم قمنا بتوريد خلية فارغة و العمود الحجم، قمنا بتوريد 3، وبالتالي لم محددة نطاق البيانات.
الآن ، انظر إلى الكود أدناه.
رمز:
Sub Resize_Example () Range ("A1"). تغيير الحجم (3). حدد End Sub
ما سيفعله هذا الرمز هو أنه سيحدد ثلاثة صفوف فقط بما في ذلك صف الخلية النشط ولكن بدون أعمدة إضافية.
المثال رقم 3
استخدم تغيير الحجم لتحديد نطاقات غير معروفة. يتم استخدام تغيير الحجم بشكل أفضل عندما تريد تحديد نطاق غير معروف من الخلايا. على سبيل المثال ، انظر إلى الصورة أدناه لنطاق البيانات.
يحتوي على بيانات بجميع الطرق من العمود A إلى العمود P ومن ناحية الصفوف لدينا حتى الصف 700.
افترض أنك تعلم أن بياناتك ستستمر في التغيير وتريد تحديد نطاق البيانات بين الحين والآخر عن طريق تغيير رقم الصف والعمود يدويًا. ومع ذلك ، باستخدام خاصية VBA RESIZE ، يمكننا القيام بذلك بسهولة.
انظر إلى الكود أدناه.
رمز:
Sub Resize_Example1 () Dim LR As Long Dim LC As Long Worksheets ("Sales Data"). حدد LR = Cells (Rows.Count، 1) .End (xlUp) .Row LC = Cells (1، Columns.Count) .End (xlToLeft]. خلايا العمود (1 ، 1). الحجم (LR ، LC). حدد End Sub
أولاً ، لقد أعلنت متغيرين للعثور على آخر صف مستخدم (LR) وآخر عمود مستخدم (LC).
خافت LR وطول خافت LC وطول
نظرًا لوجود بياناتنا في ورقة العمل المسماة "بيانات المبيعات" ، فإننا نختار ورقة العمل هذه باستخدام الكود أدناه.
أوراق العمل ("بيانات المبيعات") اختر
الآن سيجد الرمز أدناه آخر صف مستخدم وآخر عمود مستخدم.
LR = الخلايا (عدد الصفوف ، 1) ، النهاية (xlUp) ، الصف
LC = خلايا (1 ، عدد الأعمدة) ، النهاية (xlToLeft) ، العمود
الآن من الخلية الأولى ، نقوم بتغيير حجم النطاق من آخر صف مستخدم إلى آخر عمود مستخدم وحدد الطريقة المستخدمة. لذا ، لا يهم الآن حجم بياناتك ، فسيتم تحديد البيانات ديناميكيًا من خلال العثور على آخر صف مستخدم وآخر عمود تم استخدامه.
أشياء للذكرى
- ستؤدي خاصية تغيير الحجم في VBA إلى تغيير حجم النطاق من الخلية النشطة (بما في ذلك الخلية النشطة أيضًا).
- نحتاج فقط إلى توفير عدد الصفوف وعدد الأعمدة التي سيتم تغيير حجمها من الخلية النشطة في VBA.
- لا يمكننا استخدام رقم الصف والعمود السالب للخاصية RESIZE.