PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کاربرد exit sub



Ali Parsaei
2014/04/10, 09:56
سلام دوستان،
ببينيد عرايض بنده صحيح است:
کاربرد EXIT SUB توقف يک عمليات مي باشد، به عنوان مثال من کد زير را براي ورود اطلاعات توسط فرم در خانه A1 تا A10 نوشتم:

Private Sub CommandButton1_Click()
Dim C As Range
For Each C In Range("A1:A10")
If C = "" Then
C = TextBox1.Text
End If
Next
End Sub
کد فوق تمام ده خانه مورد نظر را با مقدار تکست باکس يک پر مي کند (اگر خالي باشند)
حال اگر بخواهم اولين خانه خاي را که پر شد عمليات متوقف شود يک EXIT SUB به صورت زير اضافه مي کنم:

Private Sub CommandButton1_Click()
Dim C As Range
For Each C In Range("A1:A10")
If C = "" Then
C = TextBox1.Text
Exit Sub
End If
Next
End Sub
يک نکته هم اين است که: بسته به جايي که EXIT SUB وارد مي شود، همان عملياتي که در جريان است متوقف مي گردد، مثلا" اگر من EXIT SUB را يک خط پايينتر بنويسم (مثل زير):

Private Sub CommandButton1_Click()
Dim C As Range
For Each C In Range("A1:A10")
If C = "" Then
C = TextBox1.Text
End If
Exit Sub
Next
End Sub
در اين صورت فقط خانه A1 مورد بررسي قرار مي گيرد.
به عبارت ديگر کد دومي و سومي من يکي حلقه FOR را متوقف مي کند و آن يکي IF را متوقف مي کند.
اگر عرايض بنده صحيح باشد مي توان گفت که بيشتر کاربرد EXIT SUB در مورد حلقه ها مي باشد. صحيح است؟

امين اسماعيلي
2014/04/10, 20:04
خوب با درود
با توجه به گفته هاتون میشه گفت حلقه . اما جاهای دیگهه هم میشه کار برد داشته باشه توی یه if یا توی عدم اجرای یه فرم . اگر فلان شرط نبود اجرا نشو کلا. یا اگر اروری یافتی یه ارور خاص تو هندل کردن ارور Exit Sub شو . ولی در کل اره . به جای Exit Sub هم تو For برو سراغExit For . این Exit Sub کل Sub رو بر میداره