Private Sub CommandButton1_Click()
Dim sh As Worksheet
Dim ws As Worksheet
Set ws = Sheets("ÝÇÊæÑÉ")
Dim lr
Application.ScreenUpdating = False
Dim rng1, rng2, rng3, rng4, rng5, rng6, rng7, rng
With ws
Set rng = .[b8]
Set rng1 = .[b4] 'ÇáÊÇÑíÎ
Set rng2 = .[a4] 'ÑÞã ÇáÝÇÊæÑÉ
Set rng3 = .[b29] 'ÇáÚÏÏ
Set rng4 = .[d31] 'ÇÌãÇáí
End With
For Each sh In Sheets ' ' حلقة تكرارية للتنقل بين الشيتات
If sh.Name = "فاتورة" Then GoTo 1 ' ادا كان اسم الشيت "فاتورة" انتقل الى الشيت الاخر
If rng.Text = sh.Name Then 'الشرط هنا يعود الى قيمة الخلية"ب8" وادا تطابق مع اسم احد الشيتات ينفد
lr = sh.Range("a" & Rows.Count).End(3).Row + 1 ' متغير لمعرفة اخر خلية فارغة العمود "ا"
sh.Range("a" & lr) = rng1 'يضع قيمة مخزنة في متغير "ر ن ج 1" في اخر خلية فارغة العمود "ا"
sh.Range("c" & lr) = rng2 ' يضع قيمة مخزنة في متغير "ر ن ج 2" في اخر خلية فارغة العمود "س
sh.Range("d" & lr) = rng3 'يضع قيمة مخزنة في متغير "ر ن ج 3" في اخر خلية فارغة العمود "د
sh.Range("e" & lr) = rng4 'يضع قيمة مخزنة في متغير "ر ن ج 4" في اخر خلية فارغة العمود "و
sh.Range("a" & lr).Resize(1, 7).Borders.LineStyle = 1 '
End If
1: Next sh
Application.ScreenUpdating = True
End Sub
اتمنى ان يكون الشرح كافي