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

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

قام بنشر

السلام عليكم 

المطلوب في شيت pv عند كتابة اسم القسم و عدد التلاميذ يرحلهم مباشرة من شيت data إلى شيت Pv  حسب العدد المطلوب و يرحل الباقي حسب العدد المطلوب إلى المكان المطلوب 

و شكر ا  مسبقا 

 

med.xlsx

قام بنشر

جرب هذا الكود

Option Explicit
Dim ARR()
Dim D As Worksheet, P As Worksheet, I#

Sub Data_VAL()
Dim K%: K = 1

Set D = Sheets("data"): Set P = Sheets("pv")
For I = 1 To D.Cells(Rows.Count, 1).End(3).Row
    If D.Range("A" & I).Interior.Color = RGB(220, 230, 241) Then
        ReDim Preserve ARR(1 To K)
        ARR(K) = D.Range("A" & I).Value
        K = K + 1
    End If
Next

    With P.Range("H5").Validation
     .Delete
     .Add 3, , , Join(ARR, ",")
    End With

End Sub
'++++++++++++++++++++++++++++++++++++++++++++
Sub get_data()
    Dim First_Ro%, Laste_ro%
    Dim Copy_RG As Range
    Dim clas
    Dim m%: m = 11
    Dim col: col = 2
Set D = Sheets("data"): Set P = Sheets("pv")
P.Range("A11:C500").ClearContents
P.Range("I11:K500").ClearContents
clas = P.Range("H5").Value
First_Ro = D.Range("A:D").Find(clas, after:=D.Cells(1000, 1), LOOKAT:=1).Row + 4
Laste_ro = D.Range("A" & First_Ro).End(4).Row
Set Copy_RG = D.Range(Cells(First_Ro, 2), Cells(Laste_ro, 3))
 For I = 1 To Copy_RG.Rows.Count
    If m = 36 Then m = 11: col = 10
        With P.Cells(m, col - 1)
            .Value = I
            .Offset(, 1) = Copy_RG.Cells(I, 1)
            .Offset(, 2) = Copy_RG.Cells(I, 2)
        End With
    m = m + 1
  Next
  
End Sub

الملف مرفق

med_SALIM.xlsm

  • Like 1
قام بنشر

أولا أستاذ سليم كيف أحوالك أتمنى تكون في تمام الصحة و العافية

المهم الكود شغال و لكن أنا أريد أن أرحل عدد معين من التلاميذ إلى الجدول و ليس العدد الكلي مثلا قسم 3أ ف به 45 تلميذا و أنا أريد أن أرحل 23 تلميذا يعني يرحل من 01 إلى 23 و لما أطلب أكتب القسم ثانية في الجدول الأخر يرحل من 24 إلى ......( حسب العدد المطلوب ) و هكذا

  • أفضل إجابة
قام بنشر

تعديل بسيط على الكود

وضع سطر اضافي بين علامات الـــ +++++

Option Explicit
Dim ARR()
Dim D As Worksheet, P As Worksheet, I#

Sub Data_VAL()
Dim K%: K = 1

Set D = Sheets("data"): Set P = Sheets("pv")
For I = 1 To D.Cells(Rows.Count, 1).End(3).Row
    If D.Range("A" & I).Interior.Color = RGB(220, 230, 241) Then
        ReDim Preserve ARR(1 To K)
        ARR(K) = D.Range("A" & I).Value
        K = K + 1
    End If
Next

    With P.Range("H5").Validation
     .Delete
     .Add 3, , , Join(ARR, ",")
    End With

End Sub
'++++++++++++++++++++++++++++++++++++++++++++
Sub get_data()
    Dim First_Ro%, Laste_ro%
    Dim Copy_RG As Range
    Dim clas
    Dim m%: m = 11
    Dim col: col = 2
Set D = Sheets("data"): Set P = Sheets("pv")
P.Range("A11:C500").ClearContents
P.Range("I11:K500").ClearContents
clas = P.Range("H5").Value
First_Ro = D.Range("A:D").Find(clas, after:=D.Cells(1000, 1), LOOKAT:=1).Row + 4
Laste_ro = D.Range("A" & First_Ro).End(4).Row
Set Copy_RG = D.Range(Cells(First_Ro, 2), Cells(Laste_ro, 3))
 For I = 1 To Copy_RG.Rows.Count
 '++++++++++++++++++++++++++++++
  If I > P.Range("H6") Then Exit Sub
 '+++++++++++++++++++++++++++++++
    If m = 36 Then m = 11: col = 10
        With P.Cells(m, col - 1)
            .Value = I
            .Offset(, 1) = Copy_RG.Cells(I, 1)
            .Offset(, 2) = Copy_RG.Cells(I, 2)
        End With
    m = m + 1
  Next
  
End Sub

الملف من جدبد

med_SALIM_new.xlsm

  • 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