اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

المطلوب كود لجعل بيانات موجوده على عده اعمده توضع فى عمود واحد اسفل بعضها بالترتيب


الردود الموصى بها

الاساتذه الكرام

بالملف المرفق بيانات موضوعها فى عده اعمده ( 12 ) عمود وقد تصل إلى 100 عمود

والمطلوب : عمل كود يقوم بتجميع الاعمده فى عمود واحد بحيث يبدأ ببيانات العمود الاول ثم اسفله بيانات العمود الثانى وهكذا

وليس المقصود دمج المحتويات بمعنى لا نستخدم CONCATENATEدالة

لانها غير المقصوده

تجميع اعمده فى عمود.rar

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم

 

جرب هذه 

Sub Dahmour()
arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)
For Each i In arr
If Not IsEmpty(i) Then
Cells(r + 3, 2) = i
r = r + 1
End If
Next
End Sub

تحياتي

+تجميع اعمده فى عمود.rar

رابط هذا التعليق
شارك

استاذنا الكبير

احمد عبد الناصر

زادكم الله من علمه كود ولا اروع

كل مشاركاتكم مؤثرة ونتعلم منها لذلك لو تكرمت ممكن شرح الكود

ولو تكرمت لى اضافة فى طلبى كما بالمرفق وهو ان يتم عمل عمودين

الاول : لبيانات رقمية

والثانى لبيانات نصية

+تجميع اعمده فى عمودنصى وآخر رقمى.rar

تم تعديل بواسطه عادل ابوزيد
رابط هذا التعليق
شارك

السلام عليكم

 

جرب هذا 

Sub Dahmour()
arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)
For Each i In arr
If Not IsEmpty(i) Then
If IsNumeric(i) Then
Cells(r + 3, 2) = i
Else
Cells(rr + 3, 3) = i
rr = rr + 1
End If
r = r + 1
End If
Next
End Sub

ملاحظة : يترك فراغات في العمود B كما في الملف . لا اعلم  ان كان هذا مقصود .

 

تحياتي

  • Like 1
رابط هذا التعليق
شارك

الاستاذ الفاضل العزيز

ترك الفراغات غير مقصود حيث تم عملها يدوياً لاوضح المطلوب ان كان مكانها الاسماء

وبرجاء تعديل الكود لعدم رغبتى فى وجود فراغات مع شرحه اذا تكرمت

رابط هذا التعليق
شارك

السلام عليكم

 

استاذ عادل 

 

جرب هذه 

Sub Dahmour()
arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)
For Each i In arr
If Not IsEmpty(i) Then
If IsNumeric(i) Then
Cells(r + 3, 2) = i
r = r + 1
Else
Cells(rr + 3, 3) = i
rr = rr + 1
End If
End If
Next
End Sub

بالنسبة لموضوع الشرح اعذرني فانا لست جيد في الشروحات ولكن اختر جزئية معينة و سوف احاول شرحها باذن الله 

 

تحياتي

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

استاذنا الكبير
احمد عبد الناصر
زادكم الله من علمه كود ولا اروع
كل مشاركاتكم مؤثرة ونتعلم منها لذلك لو تكرمت ممكن شرح الكود
ولو تكرمت لى اضافة فى طلبى كما بالمرفق وهو ان يتم عمل عمودين
الاول : لبيانات رقمية
والثانى لبيانات نصية

 أخي الكريم عادل، لأجل ذلك، وأسنسمح أخي الحبيب أحمد، أبدل الكود السابق بالكود التالي:

 

Sub Dahmour()
arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)
For Each i In arr
If Not IsEmpty(i) And IsNumeric(i) Then Cells(r + 3, 2) = i: r = r + 1
If Not IsEmpty(i) And IsNumeric(i) = False Then Cells(t + 3, 3) = i: t = t + 1
Next
End Sub

 

 

أخوك بن علية

رابط هذا التعليق
شارك

الاستاذ العزيز القدير احمد عبد الناصر

من اعماق قلبى اشكرك ومن اجمل البساتين ارسل لك اجمل الباقات تحية لشخصكم الكريم على مشاركاتكم العظيمه النبيلة كل منى كل دعاء فيه صلاح لك فى دينك ودنياك

الاستاذ الكبير بن عليه حاجى

مشاركاتكم وسام على صدرى تقبل منى كل الحب والتقدير

بخصوص الشرح

هل من الممكن شرح هذا السطر ماذا يعنى

arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)

وماذا تعنى هذه الاسطر

Cells(r + 3, 2) = i

r = r + 1

Else

Cells(rr + 3, 3) = i

رابط هذا التعليق
شارك

السلام عليكم

 

شكرا على كلماتك الجميلة و دعائك ,غفر الله لنا ولكم و سائر المسلمين .

 

arr = Range("e3:" & Cells.SpecialCells(xlCellTypeLastCell).Address)

هذا السطر ياتي بنطاق البيانات بداية من الخلية E3 ويتسع حتي عنوان Address اخر خلية مستخدمة في الاكسيل مثلا في الملف اخر خلية هي $AN$38

ربما هذه الطريقة تاتي بنطاق اكبر من الحاجة لكنها والله اعلم افضل طريقة للاحاطة بكل البيانات . 

وبهذا فتكون الجملة 

arr = Range("e3:$AN$38")

وبهذا يتم تخصيص المجموعة array المسماة arr بقيم النطاق .

 

وهدف هذه الخطوة انه تمكنا من الدوران loop في البيانات  علي هيئة عمود عمود من الاعلى للاسفل .

 

اما لو استخدمت loop مع النطاق مباشرة فستكون النتيجة علي صف صف من اليمين لليسار .

 

تحياتي 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information