Komut düğmesi ile yolladığım işlemde exit sub deyince tüm işlemin durması

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Komut düğmesi ile yolladığım işlemde exit sub deyince tüm işlemin durması

Merhaba

Kod:
Private Sub CommandButton1_Click()
SifreAc
Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
Dim a As String
Dim i As Integer
Dim Cevap
Set s1 = Sheets("günlük")
Set s2 = Sheets("tsb")
Set s3 = Sheets("devirler")
a = WorksheetFunction.Text(s1.Cells(2, 14), "ddmmyy")
AlisKontrol
    For i = 1 To Sheets.Count
        If Sheets(i).Name = a Then
        Cevap = MsgBox(aa & " tarihi için daha evvel işlem yapılmıştır, işlem yapmaya devam edecekmisiniz?", vbYesNo, "UYARI")
            If Cevap = vbYes Then
......
.....
....
butonuna tıklayınca Aşağıdaki AlisKontrola gidiyor...
görüleceği üzere eksiklik varsa exit sub ile bu döngüden çıkıyor....
Ancak diğer adım olan sayfa kontolüne geçiyor geçmeden tüm prosodürü nasıl durdurum?



Kod:
Sub AlisKontrol()
SifreAc
Set s1 = Sheets("günlük")
Set s2 = Sheets("tsb")
'>>>>>>>>>>>>>>>>>>>>>>>>>depodan
For g = 7 To 15
     If s1.Cells(g, 11) = "" And (s1.Cells(g, 12) <> "" Or s1.Cells(g, 13) <> "" Or s1.Cells(g, 14) <> "" Or s1.Cells(g, 15) <> "") Then
    MsgBox "Fiş No alanı boş bırakılamaz"
    s1.Cells(g, 11).Select
    Exit Sub
    Else
    End If
 Next
'<<<<<<<<<<<<<<<<<<<<<<<<<
SifreKapa
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
AlisKontrol prosed&#252;r&#252;n&#252; Function'a d&#246;nd&#252;r&#252;n. B&#246;ylelikle bir de&#287;er elde edersiniz. Bu de&#287;ere g&#246;re de di&#287;er prosed&#252;r&#252; y&#246;netirsiniz.

Not : Kodlar&#305;n&#305;zda yap&#305;lan de&#287;i&#351;iklikler renklendirilmi&#351;tir.

&#350;&#246;yle ki :

Kod:
Private Sub CommandButton1_Click()
SifreAc
Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
Dim a As String
Dim i As Integer
Dim Cevap
Set s1 = Sheets("g&#252;nl&#252;k")
Set s2 = Sheets("tsb")
Set s3 = Sheets("devirler")
a = WorksheetFunction.Text(s1.Cells(2, 14), "ddmmyy")
[COLOR=red]If AlisKontrol = True Then[/COLOR]
    For i = 1 To Sheets.Count
        If Sheets(i).Name = a Then
        Cevap = MsgBox(aa & " tarihi i&#231;in daha evvel i&#351;lem yap&#305;lm&#305;&#351;t&#305;r, i&#351;lem yapmaya devam edecekmisiniz?", vbYesNo, "UYARI")
            If Cevap = vbYes Then
......
.....
....
[COLOR=red]End If[/COLOR]
Kod:
Function AlisKontrol()[/COLOR]
SifreAc
Set s1 = Sheets("g&#252;nl&#252;k")
Set s2 = Sheets("tsb")
'>>>>>>>>>>>>>>>>>>>>>>>>>depodan
For g = 7 To 15
    If s1.Cells(g, 11) = "" And (s1.Cells(g, 12) <> "" Or s1.Cells(g, 13) <> "" Or s1.Cells(g, 14) <> "" Or s1.Cells(g, 15) <> "") Then
    MsgBox "Fi&#351; No alan&#305; bo&#351; b&#305;rak&#305;lamaz"
    s1.Cells(g, 11).Select
[COLOR=blue]   AlisKontrol = False[/COLOR]
[COLOR=blue]   Exit Function[/COLOR]
    Else
    End If
 Next
[COLOR=blue]AlisKontrol = True[/COLOR]
'<<<<<<<<<<<<<<<<<<<<<<<<<
SifreKapa
[COLOR=blue]End Function[/COLOR]
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
te&#351;ekk&#252;r ederim say&#305;n fpc
 
Üst