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

تعديل على كود


إذهب إلى أفضل إجابة Solved by محمد حسن المحمد,

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

الكود للاستاذ ياسر خليل وهو ترحيل بشرط يحدده المستخدم في الخلية k1 في الورقة المرحل اليها الكود يرحل عمودين فقط 

المطلوب ان يرحل اكثر من عمودين ولكم الشكر

توزيع التلاميذ على الفصول.xlsm

رابط هذا التعليق
شارك

السلام عليكم

بعد اذن الاستاذ محمد حسن المحمد

تفضل اخى عطيىة23

تعديل على كود الاستاذ الفاضل ياسر خليل كما طلبت

Sub Test()
    Dim a, v, ws As Worksheet, sh As Worksheet, lr As Long, i As Long, k As Long
    Application.ScreenUpdating = False
        Set ws = ThisWorkbook.Worksheets(1)
        Set sh = ThisWorkbook.Worksheets(2)
        v = sh.Range("k1").Value
        If v = Empty Or Not IsNumeric(v) Then MsgBox "Enter Proper Grade First", vbExclamation: Exit Sub
        lr = ws.Cells(Rows.Count, "B").End(xlUp).Row
        a = ws.Range("B4:g" & lr).Value
        ReDim b(1 To UBound(a), 1 To 6)
        For i = LBound(a) To UBound(a)
            If a(i, 6) = v Then
                k = k + 1
                b(k, 1) = k
                b(k, 2) = a(i, 1)
                b(k, 3) = a(i, 2)
                b(k, 4) = a(i, 3)
                b(k, 5) = a(i, 4)
                b(k, 6) = a(i, 5)
            End If
        Next i
        If k > 0 Then
            sh.Range("A7:g" & Rows.Count).ClearContents
            sh.Range("A7").Resize(k, UBound(b, 2)).Value = b
        End If
    Application.ScreenUpdating = True
End Sub

 

توزيع التلاميذ على الفصول.xlsm

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

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

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

Important Information