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

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

قام بنشر

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

اعضاء المنتدى المحترفين 

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

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

متأكد انكم ما تخيبوا ظني احبتي

شكرا لكم

1.xlsx

قام بنشر

جرب هذا الكود

Option Explicit
Sub get_all()
Dim Sh As Worksheet
Dim My_rg As Range
Dim Arr(), I%, k%, m%
 m = 2
For Each Sh In Sheets
 If UCase(Sh.Name) <> UCase("salim") Then
  ReDim Preserve Arr(k)
    Arr(k) = Sh.Name
    k = k + 1
 End If
 Sheets("Salim").Range("B:B").ClearContents

Next Sh
 For k = LBound(Arr) To UBound(Arr)
 Set My_rg = Sheets(Arr(k)).Range("b1").CurrentRegion
  If My_rg.Rows.Count = 1 Or _
   Sheets(Arr(k)).Range("B1") = "" Then GoTo next_K
   Set My_rg = _
   My_rg.Offset(1).Resize(My_rg.Rows.Count - 1).Columns(1)
   My_rg.Copy Sheets("Salim").Range("B" & m)
   m = m + My_rg.Rows.Count
next_K:
 Next k
 Sheets("Salim").Range("B1") = "Data"
End Sub

الملف مرفق

H_Rady.xlsm

  • Like 2
قام بنشر

آسف على التأخير شكرا لك استاذ سليم على الدعم ممتن لك

في شي انا ما وضحته ممكن يكون فراغ بين الارقام يعني ممكن اكتب 1 و2 بعدين روو فارغ بعدين ارقام 

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

 

 

  • أفضل إجابة
قام بنشر

 كان يجب توضيح هذا الأمر مسبقاً

من الصعب جداً عمل ذلك بالمعادلات  لانه يمكن ان يكون هناك اكثر من ورقتي عمل

 يمكنك تجربة هذا الكود

Option Explicit
Sub get_all_1()
Dim Sh As Worksheet
Dim Arr(), I%, k%, m%, x%, t%
Dim My_rg  As Range
 m = 2
For Each Sh In Sheets
 If UCase(Sh.Name) <> UCase("salim") Then
  ReDim Preserve Arr(k)
    Arr(k) = Sh.Name
    k = k + 1
 End If
 Sheets("Salim").Range("B:B").ClearContents

Next Sh
 For k = LBound(Arr) To UBound(Arr)
    With Sheets(Arr(k))
       x = .Cells(Rows.Count, 2).End(3).Row
       Set My_rg = .Range("b2:b" & x).SpecialCells(2)
       My_rg.Copy Sheets("Salim").Range("B" & m)
       m = Sheets("Salim").Cells(Rows.Count, 2).End(3).Row + 1
    End With
 Next k
 Sheets("Salim").Range("B1") = "Data"
 Erase Arr
End Sub

الملف من جديد

H_Rady_1.xlsm

  • Like 1
  • Thanks 1
قام بنشر

hassan rady

أيوه بعد كل هذه الإجابات الممتازة فين انت من كل هذه الحلول ؟!!!

أين الضغط على الإعجاب لكود الأستاذ سليم ,,, بارك الله فيه ؟!!!

ونبهنا كثير جداً على هذا الأمر ان هذا اقل ما يقدم بكثير ممن له الفضل بعد ربنا فى حل مشكلتك وتفريج كربتك ... الرجاء الإنتباه لهذا الفضل وهذا المعروف ولا احد مجبر هنا على مساعدتك انما كله لوجه الله . واهدار  واقتطاع من وقته فى بيته ومع اسرته , فرجاءا تقديم كل التقدير والإحترام لذلك

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