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

مساعدة في فاتورة ترحيل واستدعاء


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

السلام عليكم

شكراً استاذ سليم هل يمكن عدم ترحيل نفس الفاتور--------  حيث ان الترحيل يتم ترحل نفس الفاتورة برقم فاتورة جديد ياريت يكون مسج بعد اذنك يفيد ان الفاتور موجودة من قبل فيقوم استبدال الفاتور السابقة   ====  حيث من الممكن يكون هناك خطاء معين في الفاتور فيسمح لنا الترحيل مره اخرى بالاستبدال وليس التكرار       اعتذر على الاطالة في الشرح

 

رابط هذا التعليق
شارك

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

Sub Tarhil_salim()
Dim lrb, lrg, My_Max, Name_count, Date_count As Integer
Dim S_Sh As Worksheet
Dim T_Sh As Worksheet
 Set S_Sh = Sheets("الفاتورة"): Set T_Sh = Sheets("الارشيف")
 
Name_count = Application.CountIf(T_Sh.Range("c:c"), S_Sh.Range("c7"))
Date_count = Application.CountIf(T_Sh.Range("b:b"), S_Sh.Range("c6"))

    If Name_count + Date_count >= 2 Then
        Message = MsgBox("هذه الفاتورة يمكن ان تكون مكررة! تأكد من ذلك" & Chr(10) & "اذا أردت الاستمرار إضغط نعم", 68)
        If Message <> 6 Then Exit Sub
    End If
   My_Max = Application.Max(S_Sh.Range("b:b"))
    lrg = T_Sh.Cells(Rows.Count, "G").End(3).Row
    If lrg = 1 Then lrg = 2
        If lrg = 2 Then
   S_Sh.Range("c9" & ":f" & 9 + My_Max - 1).Copy Destination:=T_Sh.Range("g" & lrg)
   Else
   S_Sh.Range("c9" & ":f" & 9 + My_Max - 1).Copy Destination:=T_Sh.Range("g" & lrg + 2)
   End If
   T_Sh.Range("H:j").Value = T_Sh.Range("H:j").Value
   
    lrg = T_Sh.Cells(Rows.Count, "G").End(3).Row
   lrb = lrg - My_Max + 1
   With T_Sh
    .Cells(lrb, 2) = S_Sh.Range("c6").Value
    .Cells(lrb, 3) = S_Sh.Range("c7").Value
    .Cells(lrb, 4) = S_Sh.Range("c38").Value
    .Cells(lrb, 5) = S_Sh.Range("c39").Value
    .Cells(lrb, 6) = S_Sh.Range("c36").Value
   End With
End Sub

 

  • Like 1
رابط هذا التعليق
شارك

استاذ سليم هل يمكن استبدال الفاتورة المرحلة اذا كانت موجود بالقديمة وبالذات ان وجد خطاء فيها --- بمعنى تغيير البيانات فقط والمرجع هنا هو ((  رقم الفاتورة )) وعدم تكرارها واعطاهاء رقم جديد

رابط هذا التعليق
شارك

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

 

 

Sub مسح()

    Range("C9:F28,c7,c6").ClearContents
    

End Sub

 

رابط هذا التعليق
شارك

11 ساعات مضت, محمد الخازمي said:

استاذ سليم هل يمكن استبدال الفاتورة المرحلة اذا كانت موجود بالقديمة وبالذات ان وجد خطاء فيها --- بمعنى تغيير البيانات فقط والمرجع هنا هو ((  رقم الفاتورة )) وعدم تكرارها واعطاهاء رقم جديد

 

 

للرفع

رابط هذا التعليق
شارك

السلام عليكم

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

6.png

رابط هذا التعليق
شارك

56 دقائق مضت, محمد الخازمي said:

السلام عليكم

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

6.png

هذا لأنك وافقت على نسخ فاتورة ثانية من خلال الرسالةالتي ظهرت عندما ضفطت على الزر ترحيل

الحل مسح الفاتورتين (اضغط مرتين على الزر DElete  ثم اعد كتابة الفاتورة)

أو امسح الفاتورتين يدوياً من خلال تحديد صفوفهما ثم right click ثم Delete row

تم تعديل بواسطه سليم حاصبيا
رابط هذا التعليق
شارك

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

 

رابط هذا التعليق
شارك

26 دقائق مضت, محمد الخازمي said:

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

 

1-عليك اولا مسح الفاتورة من الارشيف من خلال الزر Delete (عدة مرات)حتى تظهر لك رسالة تفيد ان كل بيانات هذه الفاتورة قد تم مسحها

(اذ يمكن ان تكون الفاتورة مسجلة اكثر من مرة في الارشيف)

2- قم يتعديل ما تريد على الفاتورة( اضافة او حذف بعض البيانات أو تعديل التاريخ الخ....)

3-اضغط على ترحيل 

 مرفق ملف جديد للعمل عليه

 

فاتور مع ترحيل واستدعاء salim2.rar

رابط هذا التعليق
شارك

حيا الله استاذ سليم - بارك الله في عمرك 

ممكن استاذ درج رقم الفاتورة تلقائيا

وعند ترحيل الفاتورة مسح البيانات من الفاتورة

جزيتم خيرا

السلام عليكم

ومبارك للأخ محمد انجاز المطلوب

تم تعديل بواسطه محمد لؤي
  • Like 1
رابط هذا التعليق
شارك

2 ساعات مضت, محمد الخازمي said:

هذا هو امطلوب ياريت علي اوفيس 2003

عند تحويل الملف الي 2003  اصبح الملف معطوب 

تفضل على 2003

القائمة المنسدلة في C5 مطاطة كل رقم يدرج فيها يتم حفظه تلقائياً والمكرر لا يسجل الا مرة واحدة

Fatoura-Final 2003.rar

  • Like 2
رابط هذا التعليق
شارك

4 ساعات مضت, محمد لؤي said:

جزيت خيرا استاذ سليم

استاذ : هذا الملف استفاد منه في عملي

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

اضف هذ السطر في نهاية كود الترحيل

 

    Range("C9:F28,c7,c6").ClearContents

ليصبح

Sub Tarhil_salim1()
Dim lrb, lrg, My_Max, Name_count, Date_count As Integer
Dim S_Sh As Worksheet
Dim T_Sh As Worksheet
 Set S_Sh = Sheets("الفاتورة"): Set T_Sh = Sheets("الارشيف")
 
Name_count = Application.CountIf(T_Sh.Range("A:A"), S_Sh.Range("c5"))
'Date_count = Application.CountIf(T_Sh.Range("b:b"), S_Sh.Range("c6"))

    If Name_count >= 1 Then
        Message = MsgBox("هذه الفاتورة يمكن ان تكون مكررة! تأكد من ذلك" & Chr(10) & "اذا أردت الاستمرار إضغط نعم", 68)
        If Message <> 6 Then Exit Sub
    End If
   My_Max = Application.Max(S_Sh.Range("b9:b28"))
    lrg = T_Sh.Cells(Rows.Count, "G").End(3).Row
    If lrg = 1 Then lrg = 2
        If lrg = 2 Then
   S_Sh.Range("c9" & ":f" & 9 + My_Max - 1).Copy Destination:=T_Sh.Range("g" & lrg)
   Else
   S_Sh.Range("c9" & ":f" & 9 + My_Max - 1).Copy Destination:=T_Sh.Range("g" & lrg + 2)
   End If
   T_Sh.Range("H:j").Value = T_Sh.Range("H:j").Value
   
    lrg = T_Sh.Cells(Rows.Count, "G").End(3).Row
   lrb = lrg - My_Max + 1
   With T_Sh
    .Cells(lrb, 1) = S_Sh.Range("c5").Value
    .Cells(lrb, 2) = S_Sh.Range("c6").Value
    .Cells(lrb, 3) = S_Sh.Range("c7").Value
    .Cells(lrb, 4) = S_Sh.Range("c38").Value
    .Cells(lrb, 5) = S_Sh.Range("c39").Value
    .Cells(lrb, 6) = S_Sh.Range("c36").Value
        Range("C9:F28,c7,c6").ClearContents
   End With
End Sub

 

 

تم تعديل بواسطه محمد الخازمي
رابط هذا التعليق
شارك

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