اخي الحبيب
نستعرض الكود الاول وبجانبه الشرح
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row <> 11 Or Target.Column Mod 2 = 1 Then Exit Sub هنا ان يتم التنقل من العمود 2 ولا يزيدعن السطر العاشر
If Target.Row = 11 Then الشرط هنا عندما يصل المؤشر الى السطر 11 يقوم بالتالي
Cells(1, Target.Column + 2).Select هذه نتيجة الشرط عند وصو المؤشر الى السطر 11 انتقل الى العمود بعد التالي
لماذا بعد التالي وليس العمود التالي مباشرة وذلك Cells(1, Target.Column + 2).Select لوجود رقم 2 اما اذا احببت العمود التالي مباشرة فعدل رقم 2 الى 1 وهكذا اي شرط تضيفه
End If نهاية الشرط
End Sub
اما الكود الاخر فهو
Private Sub Worksheet_SelectionChange1(ByVal Target As Range)
Dim i As Integer
Dim iRow As Integer
For i = 1 To 10
iRow = Choose(i, 6, 5, 15, 10, 16, 21, 1, 17, 13, 2)
Cells(iRow, 4) = i
Next i
End Sub
والذي بملف اخي ابو اسامة لاعلاقة له بتنفيذ المثال لان الجزء الذي يتحكم بحركة المؤشر هو الكود التالي
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Application.EnableEvents = False
If Cells(65000, 1).Value = 7 Then Cells(65000, 1).Value = 0
Cells(65000, 1).Value = Cells(65000, 1).Value + 1
i = Cells(65000, 1).Value
Range("r_" & i).Select
Application.EnableEvents = True
End Sub
مع الشكر