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

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

قام بنشر

اخى الفاضل// ابو حنين

بعد تجربة الملف عدة مرات والعمل عليه اكتشفت عده ملاحظات ارجو ان يتسع صدرك لها
اولا اريد عدم تكرار
 تاريخ بالصفحة التى يتم ترحيل البيانات حيث انك اذا استدعيت بيانات وضغطت على زر الترحيل  سيتم ترحيل البيانات مرة اخرى .. فقط اريد توقيف المستخدم حيث يجب هنا الضغط على زر تعديل بدلا من ترحيل

ثانيا عند استدعاء البيانات بالتاريخ والتعديل عليها من الممكن ان تتعرض تلك البيانات للزيادة او النقص

وفى حالة زيادة البيانات عن تلك القديمة والضغط على زر التعديل لا يهتم بالبيانات الزائدة فهو فقط يأخذ البيانات القديمة ويتجاهل البيانات الزائدة ..

وعند نقص البيانات عن تلك القديمة والضغط على زر تعديل فانه يرحل البيانات بصورة صحيحة ولكنة لا يمسح التاريخ مكان البيانات القديمة بالصفحة المرحل اليها

وشكراااااااااا مرة اخرى واتمنى الا اكون اثقل عليك

قام بنشر

وعليكم السلام :

الاستاذ:ابو حنين .. جزاك الله خيراً 
وكما قال الاستاذ:سعيد بيرم ... فأنت متألق دائما فى منتدانا الحبيب
وننتظر منكم ان شاء الله  الكود المعدل لحالة نقص البيانات عن البيانات القديمة

قام بنشر

السلام عليكم

يمكن الاضافة و حفظ  التعديل

لكن في حالة النقص غير ممكن على الاقل لحد الآن

****************

 

اخي

kby 

جزاكم الله خيرا على المرور

الفاضل ابو حنين  

 

هذا الكود هو المطلووووووب  في الملف اياااااااااااااااااااااااااااه 

قام بنشر

تم بحمد الله التوصل الى النتيجة المطلوبة فى كود التعديل
عن طريق كود ايضا للرائع الاستاذ : ابو حنين 
والفكرة هى حذف البيانات القديمة عند التعديل واعادة ترحيل البيانات مرة اخرى

Sub sSave()
Application.ScreenUpdating = False
    Dim i As Long, Last As Long, Sh As Worksheet, Shh As Worksheet
    Set Sh = Sheets("main"): Set Shh = Sheets("database")
If Sh.Range("A6") = "" Then
MsgBox "لا توجد أي بيانات للترحيل", vbExclamation + vbMsgBoxRight, "خطأ"
Exit Sub: End If
LR = Sheets("database").[B1000000].End(xlUp).Row
For i = LR To 4 Step -1
If Sheets("database").Cells(i, 1) = Sheets("main").Range("C2") Then
Sheets("database").Rows(i).Delete Shift:=xlUp
End If
Next
'كود الترحيل أ:ابو حنين
If MsgBox("هل تريد ترحيل البيانات الحالية الى قاعدة البيانات", vbInformation + vbMsgBoxRight + vbYesNo, "ترحيل") = vbNo Then Exit Sub
x = Shh.Cells(Rows.Count, "B").End(xlUp).Row + 1
Last = Sh.Cells(Rows.Count, "A").End(xlUp).Row
For i = 6 To Last
Sh.Range("A" & i).Resize(, 8).Copy
With Shh
.Range("B" & x).PasteSpecial xlPasteValues: .Range("A" & x) = Sh.Range("C2").Value
.Range("A" & x & ":" & "I" & x).Borders.Value = 1: .Range("J" & x) = x - 4
x = x + 1
    End With: Next
Sh.Range("A6:I" & Sh.Cells(Rows.Count, "A").End(xlUp).Row + 1).ClearContents: Sh.Range("C2") = ""
Application.ScreenUpdating = True
MsgBox "تم ترحيل البيانات بنجاح", vbInformation + vbMsgBoxRight, "ترحيل"

End Sub

  • Like 1

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