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

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

قام بنشر

مطلوب كود

يقوم بمطابقة الأصناف وأنوعها الموجودة في صفحة المشتروات

بالأصناف وأنوعها الموجودة في صفحة المبيعات

ثم ترحيلهم حسب ماتم بيعه إلي صفحة جرد البضاعة

وذلكمن خلال زر بالفورم

ترحيل المشتريات و المبيعات.rar

قام بنشر

الأستاذ أبو عيد أشكرك جدا لإهتمامك بالموضوع ولكن المطلوب أولاً هو 

 كود

يقوم بمطابقة الأصناف وأنوعها الموجودة في صفحة المشتروات

بالأصناف وأنوعها الموجودة في صفحة المبيعات

ثم ترحيلهم حسب ماتم بيعه إلي صفحة جرد البضاعة

وذلك من خلال زر بالفورم

وليس حساب الكمية عموماً أقدر مجهودك الرائع وأشكرك علي المتابعة

قام بنشر

أخي الكريم محمود

جرب الكود التالي عله يكون المطلوب ...

Private Sub CommandButton1_Click()
    Dim Coll As New Collection, arrData, arrOut, arrStrSheet, strSheet, arrBlank, arrTemp
    Dim I As Long, J As Long, K As Long, strKey As String
    
    arrStrSheet = Array("المشتروات", "المبيعات")
    ReDim arrBlank(0 To 4)
    
    For K = LBound(arrStrSheet) To UBound(arrStrSheet)
        With Sheets(arrStrSheet(K))
            arrData = .Range("C6:E" & Application.Max(.Cells(.Rows.Count, "C").End(xlUp).Row, .Range("C6").Row)).Value
            On Error Resume Next
            For I = 1 To UBound(arrData, 1)
                strKey = Trim$(arrData(I, 1) & Chr$(2) & arrData(I, 2))
                arrTemp = arrBlank
                arrTemp = Coll(strKey)
                arrTemp(0) = arrData(I, 1)
                arrTemp(1) = arrData(I, 2)
                arrTemp(K + 2) = arrTemp(K + 2) + arrData(I, 3)
                Coll.Remove strKey
                Coll.Add Key:=strKey, Item:=arrTemp
            Next I
            On Error GoTo 0
        End With
    Next K
    
    ReDim arrOut(1 To Coll.Count, 1 To 5)
    I = 0
    For Each arrTemp In Coll
        I = I + 1
        For J = 0 To 3
            arrOut(I, J + 1) = arrTemp(J)
        Next J
        arrOut(I, 5) = arrOut(I, 3) - arrOut(I, 4)
    Next arrTemp
    
    With Sheets("جرد البضاعة").Range("B5")
        .CurrentRegion.Offset(1, 1).ClearContents
        If Coll.Count Then
            With .Offset(1, 1).Resize(UBound(arrOut, 1), UBound(arrOut, 2))
                .Value = arrOut
                .Sort Key1:=.Columns(1), Order1:=xlAscending, Key2:=.Columns(2), Order2:=xlAscending, Header:=xlNo
            End With
        End If
    End With
End Sub

وإليك الملف المرفق فيه تطبيق الكود

تقبل تحياتي

 

Transfer Purchases & Sales Using Arrays.rar

  • Like 4
قام بنشر

أخي الحبيب محمود أبو سيف

الحمد لله أن تم المطلوب الأول على خير ...

أفضل دائماً أن يكون كل طلب في موضوع منفصل حتى يتمكن الأخوة الأعضاء من تقديم المساعدة بالشكل الأمثل والذي يحقق الهدف بشكل أسرع

تقبل وافر تقديري واحترامي

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