لا حاجة لعدد من الزرار يساوي عدد الشيتات
الكود
Option Explicit
Sub get_Eleves_Names(ByVal my_SHEET As String)
Rem ====>>>> Created By Salim Hasbaya On 27/6/2019
'================================
Dim y%, SH As Worksheet
Dim ss%: ss = 0
For y = 1 To Sheets.Count
If Sheets(y).Name Like "*#*" Then
ss = ss + 1
End If
Next
'============================
Dim m As Worksheet: Set m = Sheets("Main")
Dim Fst As Worksheet: Set Fst = Sheets(my_SHEET)
Dim Ar(4), Ar_Fasl(1 To 9)
Dim t: t = Sheets(my_SHEET).Index
Dim lrA%: lrA = m.Cells(Rows.Count, "A").End(3).Row
Dim lrF%: lrF = m.Cells(Rows.Count, "F").End(3).Row
Dim mal$: mal = "ذكر"
Dim fem$: fem = "انثى"
Dim i%
Dim Start_row_B%: Start_row_B = 10
Dim Start_row_H%: Start_row_H = 10
Fst.Range("b10").Resize(500, 11).ClearContents
With m
For i = 2 To lrA
Ar(0) = .Cells(i, "H"): Ar(1) = ""
Ar(2) = .Cells(i, "G"): Ar(3) = .Cells(i, "A")
Ar(4) = .Cells(i, "C")
If .Range("B" & i) = mal Then
Fst.Cells(Start_row_B, "B").Resize(, UBound(Ar) + 1) = Ar
Start_row_B = Start_row_B + 1
ElseIf .Range("B" & i) = fem Then
Fst.Cells(Start_row_H, "H").Resize(, UBound(Ar) + 1) = Ar
Start_row_H = Start_row_H + 1
End If
Next
For i = 4 To 12
Ar_Fasl(i - 3) = CStr(Fst.Cells(5, i))
Next
Fst.Range("c10").Resize(Start_row_B - 10) = _
Application.Transpose(Ar_Fasl(t - 1))
Fst.Range("I10").Resize(Start_row_H - 10) = _
Application.Transpose(Ar_Fasl(t - 1))
Fst.Range("K1") = ss
End With
Set m = Nothing: Set Fst = Nothing
Erase Ar: Erase Ar_Fasl
End Sub
'==================================================
Sub EXTACCT_NAME()
Dim Impt
Dim x%
Impt = InputBox("Please Give_me the sheet's name to transfer data" & _
Chr(10) & "Write the sheet's name Without Cotes")
If Impt = "Main" Then
MsgBox "I can't Change the values of Principal Sheet"
Exit Sub
End If
On Error Resume Next
x = Len(Sheets(Impt).Name)
If x = 0 Then
On Error GoTo 0
MsgBox "The Sheet: " & Impt & " Not Existes"
Exit Sub
End If
Call get_Eleves_Names(Impt)
End Sub
يكفي زر واحد و الماكرو يطلب منك اسم الشيت التي تريد الترحيل اليها مثل هذه الصورة(كتابة اسم الشيت بدون الأقواس)
الملف مرفق للمعاينة وابداء الرأي
Mes_Eleves_new.xlsm