در اين صورت وقتي به خانه آخر محدوده رسيد اگر دوباره دگمه را فشار دهيد صرفا" يک بار عمليات براي خانه آخر تکرار مي شود. البته نتيجه خانه آخر تغيير نخواهد کرد زيرا فقط يک عدد مانده که مي شود در آن جاي داد و بقيه اعداد در خانه هاي بالاتر استفاده شده.
براي امتحان درستي مطلب فوق مي توانيد کد بالا را براي خانه هاي A1:A15 به صورت زير تغيير داده و امتحان کنيد:
کد:
Private Sub CommandButton1_Click()
Dim C As Range
For Each C In Range("A1:A15")
If C = "" Then
C.Select
Exit For
End If
Next
Selection.Value = "=RANDBETWEEN(1,15)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("A1:A15").RemoveDuplicates Columns:=1, Header:=xlNo
Range("A1:A15").NumberFormat = "0"
If Selection.Value = "" Then
CommandButton1_Click
Else
Exit Sub
End If
End Sub
Leave a comment: