تبديل VBA (خطوة بخطوة) | أفضل طريقتين للتبديل في VBA

لقد رأينا وظيفة تبديل في ورقة عمل excel عندما نلصق أي جدول بيانات في ورقة العمل ، ما يفعله النقل هو أنه يغير موضع الصفوف والأعمدة ، أي تصبح الصفوف أعمدة وتصبح الأعمدة صفوفًا في جدول البيانات ، الآن لأنها ورقة عمل في VBA ، نستخدمها مع طريقة Application.worksheet في VBA.

كيفية التحويل في VBA؟

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

يمكننا تبديل VBA باستخدام طريقتين.

  1. تبديل باستخدام صيغة TRANSPOSE.
  2. تبديل باستخدام طريقة اللصق الخاصة.

عندما نقوم بالتبديل ، فإننا نتبادل الصفوف إلى أعمدة وأعمدة إلى صفوف. على سبيل المثال ، إذا كانت البيانات في مصفوفة 4 × 3 ، فإنها تصبح مصفوفة 3 × 4.

دعنا نرى بعض الأمثلة لتحويل عمود إلى صف في VBA.

# 1 - تحويل VBA باستخدام صيغة TRANSPOSE

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

للحصول على مثال ، انظر إلى صورة البيانات أدناه.

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

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

رمز:

 Transpose_Example1 فرعي () End Sub 

الخطوة 2: نحتاج أولاً إلى تحديد المكان الذي سنقوم فيه بنقل البيانات. في هذا ، اخترت التحويل من الخلية D1 إلى H2. لذا ، أدخل كود فبا على شكل نطاق ("D1: H2"). القيمة =

رمز:

 النطاق الفرعي Transpose_Example1 () ("D1: H2"). القيمة = End Sub 

الخطوة 3: الآن في النطاق المذكور أعلاه ، نحتاج إلى قيمة النطاق A1 إلى B5. للوصول إلى فئة "دالة ورقة العمل" المفتوحة هذه وحدد صيغة "تبديل".

الخطوة 4: في Arg 1 ، قم بتوفير نطاق مصدر البيانات ، أي النطاق (“A1: D5”) .

رمز:

 Sub Transpose_Example1 () Range ("D1: H2"). القيمة = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub 

حسنًا ، لقد انتهينا من ترميز صيغة TRANSPOSE. الآن قم بتشغيل الكود لرؤية النتيجة في نطاق الخلايا D1 إلى H2.

كما رأينا الصورة أعلاه ، فقد حولت نطاق الخلايا من أعمدة إلى صفوف.

# 2 - تبديل VBA باستخدام طريقة اللصق الخاصة

يمكننا أيضًا التبديل باستخدام طريقة اللصق الخاص. ضع في اعتبارك نفس البيانات لهذا المثال أيضًا.

أول شيء يتعين علينا القيام به للتبديل هو نسخ البيانات. لذا اكتب الكود كـ Range (“A1: B5”). نسخ

رمز:

 Sub Transpose_Example2 () Range ("A1: B5"). نسخ End Sub 

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

رمز:

Sub Transpose_Example2 () Range ("A1: B5"). نسخ النطاق ("D1"). End Sub

بمجرد تحديد خلية الوجهة المطلوبة ، نحتاج إلى تحديد "لصق طريقة خاصة".

باستخدام لصق خاص ، يمكننا تنفيذ جميع الإجراءات التي لدينا باستخدام طرق لصق خاصة في ورقة العمل.

تجاهل جميع المعلمات وحدد المعامل الأخير أي تبديل وجعل هذا على أنه TRUE.

رمز:

 Sub Transpose_Example2 () Range ("A1: B5"). Copy Range ("D1"). PasteSpecial Transpose: = True End Sub 

سيؤدي هذا أيضًا إلى نقل البيانات مثل الطريقة السابقة.

مثل هذا ، يمكننا استخدام صيغة TRANSPOSE أو طريقة Paste Special لنقل البيانات لتبديل الصفوف إلى أعمدة وأعمدة إلى صفوف.

أشياء للذكرى

  • إذا كنا نستخدم دالة ورقة العمل TRANSPOSE ، فمن الضروري حساب عدد من الصفوف والأعمدة لنقل البيانات. إذا كان لدينا 5 صفوف و 3 أعمدة ، فعند التبديل يصبح 3 صفوف و 5 أعمدة.
  • إذا كنت تريد نفس التنسيق أثناء استخدام لصق خاص ، فعليك استخدام وسيطة Paste Type كـ "xlPasteFormats"

يمكنك تنزيل قالب Excel VBA Transpose من هنا - قالب Excel VBA Transpose


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