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

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

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

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

 

مساء الخير

 

توزيع صفوف صفحه على مجموعة صفحات عن طريق زر أمر كما في المرفق

post-80-0-36580800-1416672587_thumb.png

post-80-0-11387400-1416672600_thumb.png

12.rar

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

بارك الله فيك

 

يتم الترحيل بشكل ممتاز

 

مع ملاحظة

لو افت عمود واحد ورحلت يعيد الترحيل مره اخرى وفي موجود نفس التاريخ سابقا

يتم الترحيل في اخر خليه

قام بنشر

هلا ابو ليد

 

ممكن توضح اكثر .. وخصوصا التاريخ...ماذا تعني بالعبارة "لو افت عمود واحد" .. عذرا لم افهمها..

 

المقارنة تعتمد على قيمة العمود B

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

اقصد أن يرحل التاريخ الجديد فقط

التاريخ الموجود سابقا لا يرحل

 

أن يرحل في الصف الاول وليس الاخير

 

عدد الصفوف في الصفحه تتوقف عند 5 ويتم استبادال اخر صف

 

ياليت تشرح الكود عشان اغير بدون ازعاجكم

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

عدلت في الكود ... حمل الملف وجرب .. ان شاء الله يعمل

 

ملاحظة: في الشيت Main يوجد تاريخ مكرر ل 1002 تم تعليمه بالاحمر

 

شرح سريع للكود:

 

Option Explicit


Sub Button1_Click()
Dim LR As Integer
Dim i As Integer
Dim sheetNum As Integer
'احصل على عدد الاسطر في الصفحة Main
LR = [A1000].End(xlUp).Row


'احصل على الرقم الصفحة التسلسلي بطرح اسمها العددي (مثلا 1001) من 999 فيكن الناتج 2 لصفحة 1001 و 3 لصفحة 1002 و هكذا
For i = 2 To LR
   sheetNum = Range("A" & i) - 999
' تاكد من عدم و جود التاريخ في الصفحة المراد الترحيل اليها.    
   If doesRecordExist(sheetNum, Range("B" & i)) = False Then
' اضف سطر جديد و ادفع اسطر الجدول للاسف      
      Sheets(sheetNum).Range("A2:E2").Insert
' انسخ السطر من الجدول الرئيسي الى السطر الاول
      Range("A" & i & ":E" & i).Copy Sheets(sheetNum).Range("A2")
' احدف السطر رقم 7 للمحافضة على 5 اسطر فقط في كل جدول
      Sheets(sheetNum).Range("A7:E7").Delete
   
   End If
   
Next i


MsgBox "Êã ÇáÊÑÍíá ÈäÌÇÍ", vbInformation + vbOKOnly, "ÊÑÍíá ÇáÈíÇäÇÊ"


End Sub


' دالة التأكد من عدم وجود التاريخ في الجدول المراد الترحيل اليه
Private Function doesRecordExist(sheetNum As Integer, datDate As String)
Dim LR As Integer
Dim i As Integer
Dim isFound As Boolean


LR = Sheets(sheetNum).[A1000].End(xlUp).Row


isFound = False


For i = 2 To LR
   isFound = Sheets(sheetNum).Range("B" & i) = datDate
    
   If isFound Then Exit For
    
Next i


doesRecordExist = isFound
End Function

 

NEW 12.zip

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