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

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

قام بنشر (معدل)

وعليكم السلام ورحمة الله تعالى وبركاته  

Sub Unique_School()  
 
    Dim rng         As Range, cRng As Range
    Dim Cell        As Range, LstRow As Long
    Dim wsDest      As Variant, s As String
    Dim cUnique     As Collection
    Dim LrDest      As Integer, i As Integer
    Dim WorksheetExists  As Boolean
    
    Set ws_Data = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws_Data.Range("C4:C" & ws_Data.Cells(ws_Data.Rows.Count, "C").End(xlUp).Row)
    Set cUnique = New Collection
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    For Each ws In Sheets
       If ws.Name <> ws_Data.Name Then ws.Delete
    Next
    On Error Resume Next
    For Each Cell In rng.Cells
        cUnique.Add Cell.Value, CStr(Cell.Value)
    Next Cell
    On Error GoTo 0
    For Each wsDest In cUnique
        s = wsDest
        Sheets.Add(After:=Sheets(Sheets.Count)).Name = wsDest
        ActiveSheet.DisplayRightToLeft = True

With ws_Data
LstRow = .Cells(.Rows.Count, "A").End(xlUp).Row
 .Range("A3").AutoFilter Field:=3, Criteria1:=wsDest
    Set cRng = .Range("A3:J" & LstRow)
     cRng.Copy Sheets(s).Range("A3")
    .Select
    .Range("A3").AutoFilter
        End With
    Next wsDest
   
   ws_Data.Activate

Application.ScreenUpdating = True
 
End Sub

كشف طلاب المدارس 2.xlsm

 

 

في حالة الرغبة باعادة انشاء تسلسل جديد للصفوف 

كشف طلاب المدارس 3.xlsm

تم تعديل بواسطه Mohamed Hicham
  • Like 4
قام بنشر

Try

Sub Test()
    Const COLTARGET As Long = 3
    Dim a, ws As Worksheet, sh As Worksheet, r As Range, i As Long, n As Long
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlCalculationManual
    End With
        Set ws = ThisWorkbook.Worksheets("Sheet1")
        With ws.Range("A3").CurrentRegion
            Set r = .Offset(, .Columns.Count + 2).Cells(1)
            .Columns(COLTARGET).AdvancedFilter 2, , r, True
            a = r.CurrentRegion.Value: r.CurrentRegion.Clear
            For i = 2 To UBound(a, 1)
                ws.Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count): Set sh = ActiveSheet: sh.Name = a(i, 1)
                sh.Range("A1").Value = a(i, 1)
                sh.Range("A3").CurrentRegion.Clear
                .AutoFilter COLTARGET, a(i, 1)
                .Copy sh.Range("A4")
                n = sh.Range("A4").CurrentRegion.Rows.Count - 1
                sh.Range("A5").Resize(n).Value = Evaluate("ROW(1:" & n & ")")
                .AutoFilter
            Next i
        End With
    With Application
        .Calculation = xlCalculationAutomatic: .EnableEvents = True: .ScreenUpdating = True
    End With
End Sub

 

  • Like 4
قام بنشر (معدل)

@lionheart  فكره جميلة لاكن اعتقد انه من الضروري اضافة حذف الاوراق القديمة قبل تنفيذ الكود تفاديا لظهور رسالة خطأ

 With ws.Range("A3").CurrentRegion

اما بالنسبة لهدا السطر في حالة كان هناك اي بيانات اخرى بجانب الجدول (مجرد احتمال)  سيتم نسخها كدالك 

 

تم تعديل بواسطه Mohamed Hicham
  • Like 1
قام بنشر (معدل)

تمت تجرب الملف اكثر من مرة لم تظهر معي اي اخطاء اما بالنسبة  sheet1  to trheel

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

ممكن صورة للخطا لو سمحت

تم تعديل بواسطه Mohamed Hicham
قام بنشر

الاساتذة الافاضل الكرام

رزقكم الله خير الدنيا و الاخرة و زادكم علما من فضله 

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

الف الف شكر لحضراتكم جميعا

 

  • Thanks 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