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

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

قام بنشر

انظر أخى الكود بعد التعديل

Sub حسب_الاختيار()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim c As Range
Sheet2.Range("b5:d100") = Empty
For Each c In Sheet1.Range("chose")
If c.Value = "نعم" Then
' Z = Z + 1
lstrow = Sheet2.Range("b20000").End(xlUp).Row + 1
Sheet2.Range(Sheet2.Cells(lstrow, "b"), Sheet2.Cells(lstrow, "g")) = _
Sheet1.Range(Sheet1.Cells(c.Row, "b"), Sheet1.Cells(c.Row, "g")).Value
'Sheet2.Cells(lstrow, "a") = Z:
End If
Next c
MsgBox ("تم ترحيل الصفوف المحددة بنجاح"), vbDefaultButton1, " تحياتي أ / محـمـود جـمـعـه "
Sheets("المبيعات (1)").Select
Range("c2").Select
Application.ScreenUpdating = True
Application.Calculation = xlCalculationSemiautomatic

End Sub


قام بنشر (معدل)

الأخ الكريم ياسر هذا حل رائع ولكن إتضح لي مشكلة أخري تبدو صغيرة عند حضرتك ولكنها كبيرة عندي ولا أستطيع أن أجد لها حل  وهي

أنه عند  ترحيل الصفوف إلي شيت 2 " المبيعات " يتم ترتيب الأرقام المرحلة من الأصغر إلي الأكبر وبالتالي في حالة ترحيل عدد من الصفوف وليكن الأرقام 2 ، 3 ، 4 ، 5 مرة واحدة ثم نقوم بترحيل رقم 1 بعد ذلك نجده يأخذ صف أعلي الرقم 2 وبالتالي يأخذ مكان الرقم 2 ببياناته والرقم 2 يأخذ بيانات الرقم 3 وهكذا أي أن الرقم المرحل جديداً يأخذ خانة الرقم القديم في حالة أنه أصغر منه

والمطلوب

الرقم الذي يتم ترحيله من جديد سواء كان رقم صغير أو كبير لايتم ترتيبه وإنما يأخذ أول صف ليس به بيانات بمعني لو عندي أرقام مرحلة من 5 إلي 100 ثم قمت بترحيل رقم 1 يأخذ أول صف خالي بعد100

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

الأخوة الأفاضل أعضاء هذا المنتدي إتضح لي مشكلة أخري ولا أستطيع أن أجد لها حل  وهي

أنه عند  ترحيل الصفوف إلي شيت 2 " المبيعات " يتم ترتيب الأرقام المرحلة من الأصغر إلي الأكبر وبالتالي في حالة ترحيل عدد من الصفوف وليكن الأرقام 2 ، 3 ، 4 ، 5 مرة واحدة ثم نقوم بترحيل رقم 1 بعد ذلك نجده يأخذ صف أعلي الرقم 2 وبالتالي يأخذ مكان الرقم 2 ببياناته والرقم 2 يأخذ بيانات الرقم 3 وهكذا أي أن الرقم المرحل جديداً يأخذ خانة الرقم القديم في حالة أنه أصغر منه

والمطلوب

الرقم الذي يتم ترحيله من جديد سواء كان رقم صغير أو كبير لايتم ترتيبه وإنما يأخذ أول صف ليس به بيانات بمعني لو عندي أرقام مرحلة من 5 إلي 100 ثم قمت بترحيل رقم 1 يأخذ أول صف خالي بعد100

 

2015.rar

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

آسف على التأخير أخى ، ولكن كان عندى ضغط عمل

تفضل أخى الكود استبدله بكود حسب الاختيار

Sub حسب_الاختيار()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim c As Range

For Each c In Sheet1.Range("chose")
If c.Value = "نعم" Then
' Z = Z + 1
lstrow = Sheet2.Range("b20000").End(xlUp).Row + 1
Sheet2.Range(Sheet2.Cells(lstrow, "b"), Sheet2.Cells(lstrow, "g")) = _
Sheet1.Range(Sheet1.Cells(c.Row, "b"), Sheet1.Cells(c.Row, "g")).Value
'Sheet2.Cells(lstrow, "a") = Z:
End If
Next c
MsgBox ("تم ترحيل الصفوف المحددة بنجاح"), vbDefaultButton1, " تحياتي أ / محـمـود جـمـعـه "
Sheets("المبيعات (1)").Select
Range("c2").Select
Application.ScreenUpdating = True
Application.Calculation = xlCalculationSemiautomatic

End Sub

أرجو أن يكون هذا طلبك

قام بنشر (معدل)

الرجاء التعديل علي الكود بحيث الرقم الذي يتم ترحيله من جديد سواء كان رقم صغير أو كبير لايتم ترتيبه وإنما يأخذ أول صف ليس به بيانات بمعني لو عندي أرقام مرحلة من 5 إلي 10 ثم قمت بترحيل رقم 1 يأخذ أول صف خالي بعد10 صفوف  وذلك دون تكرار البيانات التي تم ترحيلها سابقاً

تم تعديل بواسطه Mahmoud330

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