اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

لدي ارقام متوزعه في اكثر من خليه في الاكسل وارغب بترتيبها في عمود واحد 

مرفق لكم الاكسل والنتيجة المطلوبه 

 

 

Book 115.rar

قام بنشر

السلام عليكم

جرب هذا الكود

Private Sub CommandButton1_Click()

    Dim cel As Range, LR As Integer, x As Integer
    LR = ActiveSheet.UsedRange.Rows.Count

    x = 2
    For Each cel In Range("A1:I" & LR)
    If IsEmpty(cel) = False Then
    Cells(x, 12) = cel.Value
    x = x + 1
    End If
    Next cel

End Sub

 

قام بنشر

بعد اذن اخي ابو حنين

ربما هذا الكود اسرع قليلاً للبيانات الكبيرة

Sub salim()
    Dim cel As Range, LR As Integer, x As Integer
    LR = ActiveSheet.UsedRange.Rows.Count
    Range("L2:l5000").Clear
Set my_rg = Range("A1:I" & LR).SpecialCells(2, 23)
Range("L2").Activate
  For Each my_cel In my_rg
  ActiveCell = my_cel
  ActiveCell.Offset(1, 0).Activate
  Next
 Range("L1").Activate
End Sub

 

قام بنشر

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

وانا جربت طريقه CTRL+G 

ثم اخترت الفراغات وسويت عمليه حذف

ثم نسخت الارقام تحت عمود واحد 

ابغى طريقه اسرع

قام بنشر

مرحبا

هذه طريقة اسرع تتوافق مع الملف الذي ارسلته

ضع هذا الكود في موديل و انشئ زر و اربطه بهذا الكود

Sub RegroupValue()

Range("L2:L" & Cells(Rows.Count, 12).End(3).Row).ClearContents
Dim Rng, nCells, c, MyObject As Object, LR As Long
Application.ScreenUpdating = False
    LR = ActiveSheet.UsedRange.Rows.Count
    Set MyObject = CreateObject("Scripting.Dictionary")
    Rng = Range("A1:i" & LR).Value
    For Each c In Rng
    If c <> "" Then MyObject(c) = c
    Next c
    nCells = MyObject.Keys
    Range("l2").Resize(MyObject.Count, 1) = Application.Transpose(nCells)
Application.ScreenUpdating = True

End Sub

 

  • 4 weeks later...
قام بنشر (معدل)
في ١٠‏/٩‏/٢٠١٦ at 14:32, قلم-الاكسل(عبدالعزيز) said:

وهذه مساعدة مني حيث قمت بوضع زر "اضغط "كي يكون عليك سهل

 

 

Book 115.rar

ماقصرت حبيبي 

هل يمكن جعل المعادله بعدد غير محدود من الاعمده  ...؟

تم تعديل بواسطه بومتعب
قام بنشر

السلام عليكم

يصبح شكل الكود كالتالي 

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

ActiveSheet.UsedRange.Rows.Select
Range("L2:L" & Cells(Rows.Count, 12).End(3).Row).ClearContents
Dim Rng, nCells, c, MyObject As Object, LR As Long
    LR = ActiveSheet.UsedRange.Rows.Count
    Set MyObject = CreateObject("Scripting.Dictionary")
    Rng = Selection.Value
    For Each c In Rng
    If c <> "" Then MyObject(c) = c
    Next c
    nCells = MyObject.Keys
    Range("l2").Resize(MyObject.Count, 1) = Application.Transpose(nCells)
Range("l2").Select
Application.ScreenUpdating = True

End Sub

 

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

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information