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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته عندي ملف به بيانات العاملين في عدة أقسام مختلفة

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

مرفق الملف المراد العمل عليه .... وجزاكم الله خيرا ونفعكم الله بعلمكم وزادكم علما

2051820742_.xlsm

  • تمت الإجابة
قام بنشر

حسب المرفق جرب هذا الكود ... وضعه فى مديول جديد

Sub Distribute()
    Dim ws As Worksheet, wb As Workbook
    Dim a, e, i As Long, ii As Long, w, x
    With CreateObject("Scripting.Dictionary")
        .CompareMode = 1
        Set ws = Sheet1
        Application.Calculation = xlManual
        a = Intersect(ws.Rows("4:" & Rows.Count), _
                      ws.Range("b4").CurrentRegion).Columns("b:as").Value
        ReDim w(1 To UBound(a, 2))
        For i = 1 To UBound(a, 1)
            If a(i, 1) = "" Then Exit For
            If Not .exists(a(i, 1)) Then
                Set .Item(a(i, 1)) = CreateObject("Scripting.Dictionary")
            End If
            If Not .Item(a(i, 1)).exists(a(i, 1)) Then
                ReDim x(1 To 2)
                Set x(1) = CreateObject("System.Collections.ArrayList")
                Set x(2) = Intersect(ws.Rows("5:" & Rows.Count), _
                                     ws.Range("a4").CurrentRegion).Columns("a:as")
                .Item(a(i, 1))(a(i, 1)) = x
            End If
            For ii = 2 To UBound(a, 2)
                w(ii) = a(i, ii)
            Next
            .Item(a(i, 1))(a(i, 1))(1).Add w
        Next
        For Each e In .keys
            For i = 0 To .Item(e).Count - 1
                w = Application.Index(.Item(e).items()(i)(1).ToArray, 0, 0)
                With Sheets(e)
                    .Cells(4, 1).Resize(UBound(w, 1), UBound(w, 2)) = w
                    .Cells(4, 1).FormulaR1C1 = "1"
                    .Cells(4, 1).Resize(UBound(w)).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
                End With
            Next
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
End Sub

245472506_.xlsm

  • Thanks 1
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information