سمير الليل قام بنشر مايو 4, 2024 قام بنشر مايو 4, 2024 المرجوا من الإخوان الكرام مساعدتي الصفحة الأولى بها جدول بيانات موظفين أريد اختيار حسب إرادتي مجموعة من الموظفين مثلا ليظهرو لي في الصفحي الثانية (أي بمعني يظهر فقط الموظفين الذين اخترت) smr.xlsx
سمير الليل قام بنشر مايو 4, 2024 الكاتب قام بنشر مايو 4, 2024 الاختيار حسب رقم DRPP مثلا اكتب مجموعة من ارقام DRPP المراد اختيارهم في خانة ما merci
تمت الإجابة محمد هشام. قام بنشر مايو 5, 2024 تمت الإجابة قام بنشر مايو 5, 2024 (معدل) تفضل جرب هدا Public Sub Filter_data() Dim arrayCriteria(), _ desWS As Worksheet, _ lo As ListObject, _ rng As Range, _ Cpt As Long, _ i As Long Set lo = Range("Clé").ListObject Cpt = lo.ListRows.Count ReDim arrayCriteria(Cpt) For i = 1 To Cpt arrayCriteria(i) = CStr(lo.DataBodyRange.Cells(i, 1)) Next i Set rng = Range("T_data"): Set desWS = Sheets("Feuil2") If WorksheetFunction.CountA(lo.DataBodyRange) = 0 Then MsgBox "المرجوا ادخال معيار الفلترة": Exit Sub With rng.ListObject Application.ScreenUpdating = False If .ShowAutoFilter Then .AutoFilter.ShowAllData .Range.AutoFilter field:=5, Criteria1:=arrayCriteria, Operator:=xlFilterValues If (rng.Rows.Count > 1) Then desWS.Range("d13:k" & Rows.Count).Clear .AutoFilter.Range.Offset(1).SpecialCells(xlVisible).Copy desWS.[D13] [T_data].AutoFilter End If End With Application.ScreenUpdating = True smr.xlsm تم تعديل مايو 5, 2024 بواسطه محمد هشام. 4
سمير الليل قام بنشر مايو 6, 2024 الكاتب قام بنشر مايو 6, 2024 (معدل) شكرا لك أخي الكريم الله يجازيك تم تعديل مايو 6, 2024 بواسطه سمير الليل
محمد هشام. قام بنشر مايو 6, 2024 قام بنشر مايو 6, 2024 (معدل) العفو اخي يسعدنا اننا استطعنا مساعدتك اليك حل اخر في حالة الرغبة في عدم استخدام الجداول المحورية Sub FiltreListe() Dim srcWS, rCrit, Irow As Long, _ WS As Worksheet, _ desWS As Worksheet, _ ColLast As Long, _ rngFilter As Range, _ i As Long: Cpt = 5: Set WS = Sheets("Feuil1"): Set desWS = Sheets("Feuil2") Irow = WS.Columns("F:F").Find(What:="*", SearchDirection:=xlPrevious, _ SearchOrder:=xlByRows).Row Set rCrit = desWS.[A2:A10]: arr = rCrit.Value srcWS = WorksheetFunction.CountA(desWS.Range("a2:a" & desWS.Rows.Count)) Dim b(): ReDim b(0 To UBound(arr)) On Error Resume Next For i = 0 To UBound(arr) If arr(i, 1) <> "" Then b(i) = CStr(arr(i, 1)) Next i If srcWS = 0 Then MsgBox "المرجوا ادخال عناصر الفلترة" _ & "", vbInformation, "انتباه": Exit Sub ColLast = WS.Cells(1, Columns.Count).End(xlToLeft).Column Set rngFilter = WS.Range(WS.Cells(1, "A"), WS.Cells(1, "H")) 'OR Until the last column 'Set rngFilter = WS.Range(WS.Cells(1, "A"), WS.Cells(Irow, ColLast)) With rngFilter If .AutoFilterMode Then .AutoFilterMode = False .AutoFilter Field:=Cpt, Criteria1:=b, _ Operator:=xlFilterValues j = Application.WorksheetFunction.Subtotal(3, WS.Range("F2:F" & Irow)) If j = 0 Then: MsgBox "لا توجد بيانات ", vbInformation, "تم إلغاء الإجراء": .AutoFilter: Exit Sub desWS.Range("D13:K" & desWS.Rows.Count).Clear WS.AutoFilter.Range.Offset(1).SpecialCells(xlVisible).Copy desWS.[D13] .AutoFilter End With End Sub smr V2.xlsm تم تعديل مايو 6, 2024 بواسطه محمد هشام. 1
سمير الليل قام بنشر مايو 9, 2024 الكاتب قام بنشر مايو 9, 2024 غيرت عمود الفلتر و لم يعد يعل الكود بشكل جيد شركا أخي الكريم smr.xlsm
محمد هشام. قام بنشر مايو 9, 2024 قام بنشر مايو 9, 2024 4 ساعات مضت, سمير الليل said: غيرت عمود الفلتر و لم يعد يعل الكود بشكل جيد مادا غيرت اخي ممكن توضح اكثر لكي يتم تعديل الكود بما يناسبك 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.