Excel - نسخ البيانات بجانب خلية ولصقها أدناه

القضية

لدي بيانات مرتبة على النحو التالي:

 خلية | أ | ب | C ------------------------------------------------- --- 1 | مرحبًا | مرحبا | الصباح 2 | مساعدة | من فضلك | 3 | شكرا | أراك | وداعا 

أحتاج إلى جعل هذه البيانات لتصبح هذا التنسيق

 خلية | أ | ب | C ------------------------------------------------- - 1 | مرحبًا | مرحبا | الصباح 2 | | صباح | ---------------------------------------------- 3 | مساعدة | من فضلك | ---------------------------------------------- 4 | شكرا | أراك | وداعا 5 | | وداعا | ---------------------------------------------- 

أدرك أن بعض الشروط يجب أن تأخذ في الاعتبار:

للتحقق مما إذا كانت C1 تحتوي على بيانات أم لا ،

  • 1) إذا كانت الإجابة بنعم ، انسخ البيانات في الخلية B2 (خلية يسار نسبيًا وتحت C1)

ثم تسطير باستمرار أسفل الخلية B2

  • 2) إذا كان الجواب بالنفي ، فقم بالتسطير ومتابعة الصف التالي
  • 3) تابع حتى آخر خلية تحتوي على بيانات

حل

  • أولا نسخ البيانات في sheet2.
  • ثم حاول "اختبار" الماكرو

 اختبار فرعي () Dim j As Integer ، k As Integer Works ("sheet1"). قم بتنشيط j = Range ("A1"). End (xlDown) .Row For k = j إلى 1 Step -1 If Cells (k، " C ")" "إذا كانت k = 1 ثم الخلايا (k + 1 ،" A "). EntireRow.Insert Cells (k ،" c "). خلايا مقطوعة (k + 1 ،" B ") خلايا (k + 2) ، "A"). EntireRow.FormulaArray = "'-----------------" إنهاء Sub End If Cells (k، "A"). EntireRow.Insert Cells (k + 1 ، "C"). خلايا مقطوعة (k + 2 ، "B") خلايا (k + 3 ، "A"). EntireRow.FormulaArray = "'--------------- - "Else Cells (k،" A "). EntireRow.Insert Cells (k + 2،" a "). EntireRow.FormulaArray =" '----------------- "End If Next k End Sub Undo () أوراق العمل (" sheet1 "). أوراق عمل Cells.Clear (" sheet2 "). أوراق عمل Cells.Copy (" sheet1 "). Range (" A1 ") End Sub 

لاحظ أن

بفضل venkat1926 لهذه النصيحة في المنتدى.

المقال السابق المقالة القادمة

نصائح الأعلى