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

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

قام بنشر

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

فاتورة.xlsm

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

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x, sh As Worksheet, r As Long, c As Long, n As Long, m As Long
    Set sh = Sheets(2)
    If Target.Address = "$L$8" Then
        Application.ScreenUpdating = False
            Application.EnableEvents = False
                Range("J11:T20").ClearContents
                r = 11: c = 10
                For n = 2 To sh.Range("B" & Rows.Count).End(3).Row
                    If sh.Range("B" & n) = Target Then
                        Cells(r, c) = sh.Range("C" & n)
                        r = IIf(c = 18, r + 1, r): c = IIf(c = 18, 10, c + 2)
                    End If
                Next n
            Application.EnableEvents = True
        Application.ScreenUpdating = True
    ElseIf Target.Column = 11 Or Target.Column = 13 Or Target.Column = 15 Or Target.Column = 17 Or Target.Column = 19 Then
        x = Application.Match(Range("L8").Value & Target.Offset(, -1).Value, sh.Columns(6), 0)
        If Not IsError(x) Then
            If Target.Value > sh.Cells(x, 5).Value Then
                MsgBox "Amount Is Less Than The Available Amount In Stock" & vbCrLf & "The Amount In Stock = " & sh.Cells(x, 5).Value, vbExclamation
                Application.EnableEvents = False
                    Target.ClearContents
                Application.EnableEvents = True
            End If
            If Target.Value = sh.Cells(x, 5).Value Then
                MsgBox "Pay Attention! You Entered All The Amount In The Stock", vbInformation
            End If
        End If
        m = Range("B" & Rows.Count).End(xlUp).Row + 1
        x = Application.Match(Target.Offset(, -1), Columns(2), 0)
        If Not IsError(x) Then
            Cells(x, 6) = Cells(x, 6) + Val(Target.Value)
        Else
            Cells(m, 2) = Target.Offset(, -1)
            Cells(m, 6) = Target.Value
        End If
    End If
End Sub

 

Before copy and paste the code, put the following formula in the second sheet in F2 and drag down

=B2&C2

The hide column F in the second sheet as this is a helper column

  • Like 1
قام بنشر

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

قام بنشر

اخى عمر 

ضع هذه المعادله 

=B2&C2

في العامود f في الخليه f2 في المخزن

ثم اسحب المعادله الى اخر سطر في اكواد وهو f48

ثم اذهب الى الورقه باسم ورقه ١ ثم ضع الكود الخاص بالاستاذ @lionheart 

ستجد ان الرساله التى تريدها ستظهر لك ان شاء الله

 

  • Like 2
قام بنشر

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

  • Like 2

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