VBA إدراج أعمدة | كيفية إدراج عمود في ورقة عمل Excel باستخدام VBA؟

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

أدخل الأعمدة في Excel باستخدام VBA

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

كيفية إدراج أعمدة في ورقة عمل Excel باستخدام VBA؟

يمكننا إدراج أعمدة في VBA باستخدام خاصية COLUMNS وكائن RANGE. يجب عليك لماذا نحتاج إلى أعمدة وكائنات النطاق لإدراج عمود جديد.

لإدراج عمود جديد ، نحتاج إلى تحديد العمود الذي نحتاج إلى إدراجه بعده ، دون إخبار العمود بعد أي عمود ، نحتاج إلى إدراج كيف يمكن لـ VBA فهم المنطق.

على سبيل المثال ، إذا كنت تريد إدراج العمود بعد العمود B ، فيمكنك إنشاء الكود مثل هذا.

الأعمدة ("C")

ملاحظة: سبب استخدامي للغة C لإدراج عمود بعد ذلك لأن الخلية المحددة ستنتقل إلى الجانب الأيمن.

بعد تحديد الأعمدة ، نحتاج إلى الوصول إلى خاصية "العمود بأكمله".

الأعمدة ("C")

ثم نحتاج إلى اختيار طريقة "الإدراج".

الأعمدة ("C"). EntireColumn.Insert

سيؤدي هذا إلى إدراج العمود بعد العمود C وسيتم نقل العمود C الحالي إلى D.

المثال 1 - إدراج الأعمدة باستخدام Range Object في VBA

الآن ، انظر إلى طريقة إدراج العمود باستخدام كائن RANGE. لهذا ضع في اعتبارك البيانات أدناه كمثال.

الآن أريد أن أدرج VBA العمود بعد العمود A ، اتبع الخطوات التالية لإنشاء الكود.

الخطوة 1: ابدأ الإجراء الفرعي.

الخطوة 2: افتح كائن النطاق .

رمز:

 العمود الفرعيInsert_Example1 () النطاق (End Sub 

الخطوة 3: الآن اذكر العمود في علامات الاقتباس المزدوجة .

رمز:

 العمود الفرعيInsert_Example1 () النطاق ("B: B") End Sub 

الخطوة 4: اختر الآن خاصية العمود بالكامل .

رمز:

 Sub ColumnInsert_Example1 () Range ("B: B"). ent End Sub 

الخطوة 5: بعد تحديد خاصية العمود بالكامل ، اختر طريقة "إدراج" .

رمز:

 العمود الفرعيInsert_Example1 () النطاق ("B: B"). EntireColumn.ins End Sub 

الآن يبدو الرمز الخاص بك مثل هذا.

رمز:

 العمود الفرعيInsert_Example1 () النطاق ("B: B"). EntireColumn.Insert End Sub 

قم بتشغيل الكود وسوف يقوم بإدراج العمود B الجديد.

مثال # 2 - أدخل أعمدة متعددة

على سبيل المثال ، إذا كنت تريد إدراج عمودين جديدين بعد العمود A ، فسنحتاج إلى ذكر عنواني عمودين.

رمز:

 العمود الفرعيInsert_Example1 () النطاق ("B: C"). EntireColumn.Insert End Sub 

سيقوم الكود أعلاه بإدراج عمودين بعد العمود أ.

مثال # 3 - مع طريقة "إدراج" فقط

يمكننا إدراج عمود جديد باستخدام الطريقة الوحيدة "إدراج" دون الوصول إلى خاصية العمود بأكمله. لهذا دعونا نفهم بناء جملة طريقة "insert".

Expression.Insert ([Shift] ، [نسخ الأصل])

[Shift]: عندما نقوم بإدخال العمود الجديد سواء كنا بحاجة إلى تحويل الأعمدة إلى الجانب الأيمن أو الانتقال إلى الجانب السفلي في حالة الصفوف. هنا يمكننا استخدام خيارين "xlToRight" و "xlDownTo"

[نسخة الأصل]: سيحدد هذا تنسيق العمود المدرج حديثًا. ما إذا كنت بحاجة إلى التنسيق من الجانب الأيسر للعمود أو من الخلايا أعلاه. هنا يمكننا استخدام خيارين "xlFormatFromLeftOrAbove" و "xlFormatFromRightOrBelow".

أدناه هو مثال رمز لك.

 العمود الفرعيInsert_Example1 () النطاق ("B: B"). أدخل التحول: = xlToRight ، Copyorigin: = xlFormatFromLeftOrAbove End Sub 

مثال # 4 - إدراج أعمدة باستخدام خاصية الأعمدة في VBA

لقد رأينا كيفية إدراج VBA للأعمدة باستخدام كائن RANGE ، والآن سنظهر أنه يمكننا إدراج أعمدة باستخدام خاصية "COLUMNS".

افتح خاصية الأعمدة.

رمز:

 العمود الفرعيInsert_Example2 () الأعمدة (End Sub 

يمكننا تحديد العمود بطريقتين هنا. أحدهما يستخدم المراجع الأبجدية المعتادة والآخر يستخدم أرقام الأعمدة.

إذا كنت تريد إدخال العمود بعد العمود A ، فسيكون الرمز هو الأعمدة ("B"). إذا كنت تستخدم مرجعًا رقميًا ، فسيكون الرمز هو الأعمدة (2).

رمز:

العمود الفرعيInsert_Example2 () الأعمدة ("ب"). End Sub

الآن تظهر المشكلة بالنسبة لك لأنه عندما نستخدم خاصية COLUMNS لا يمكننا الوصول إلى قائمة IntelliSense.

رمز:

 العمود الفرعيInsert_Example2 () الأعمدة ("B") 

هنا نحتاج إلى التأكد مما نقوم به. لذلك هذا هو السبب الذي جعلني أريكم كائن RANGE أولاً.

رمز:

 العمود الفرعيInsert_Example2 () الأعمدة ("B: B"). EntireColumn.Insert End Sub 

مثال # 5 - أدخل أعمدة بديلة

افترض أن لديك البيانات مثل الصورة أدناه.

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

رمز:

 العمود الفرعي أدخل_مثال 3 () خافت k كأعمدة عدد صحيح (2) اختر من أجل k = 2 إلى 8 ActiveCell.EntireColumn.Insert ActiveCell.Offset (0، 2). 

سيؤدي هذا إلى إدراج العمود مثل هذا.

المثال رقم 6 - أدخل العمود بناءً على قيمة الخلية

يمكننا أيضًا إدراج عمود بناءً على قيمة الخلية أيضًا. على سبيل المثال ، انظر إلى البيانات أدناه.

هنا أريد إدخال العمود إذا كانت قيمة خلية الصف الأول هي "السنة" ويجب أن تكون بياناتي هكذا بعد إدراج أعمدة جديدة.

استخدم الكود أدناه لأداء هذه المهمة.

رمز:

 العمود الفرعيInsert_Example4 () Dim k كـ عدد صحيح Dim x As Integer x = 2 For k = 2 To 12 If Cells (1، x) .Value = "Year" ثم الخلايا (1، x) .EntireColumn. أدخل x = x + 1 End If x = x + 1 Next k End Sub 

يمكنك تنزيل VBA Insert Columns Excel هنا. VBA إدراج أعمدة قالب Excel


$config[zx-auto] not found$config[zx-overlay] not found