Çözüldü Makroya Exit sub demek yerine istenilen yerden devam etmek

Katılım
23 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
23-01-2020
Merhaba,

Aşağıdaki kodları kullandığım ve bir butona bağladığım bir doküman mevcut ve for döngüsü içinde yer alan şartta boş hücre görünce exit sub diyerek koddan çıkıyorum. Fakat end if ifadesinden sonra yer alan kodları da aynı butonun işlevi ile çalıştırmak istiyorum. Exit sub yerine şuradan devam et diyebileceğim bir durum var mıdır? Çok basit bir olay gibi geliyor ama bir türlü beceremedim. Örnek gerekirse yükleyebilirim. Yardımcı olur musunuz?

Kod:
Private Sub calculatecmd_Click()

Dim satir1, satir2, satir3, s, a As Integer
Dim pass, X As String

On Error Resume Next
pass = "calculate"
    X = InputBox("Parolayı Giriniz", "Dikkat")
        If pass = X Then
            Application.ScreenUpdating = False
            
            '--------------------------------------- Metni sütunlara dönüştür , Açıklama birleştir ve Hesaplama Kodları -------------------------------------------------------
            
            a = 3
            
            Range("Q2:S500").Clear
            
            For satir2 = 1 To 300
                If Cells(a, "A") = "" Then
                    Range("Q2:U500").Clear
                    MsgBox "İşlem tamam  :)", vbInformation, "Uyarı"
                    Exit Sub
                Else
                    Cells(a, "J").Value = Cells(a, "A") & " " & Cells(a, "B") & " ADET " & Cells(a, "E") & " " & Cells(a, "F") & " mm"
                    Cells(a, "F").Select
                    Selection.TextToColumns Destination:=Cells(a, "Q"), DataType:=xlDelimited, _
                            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
                            :="x", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
                            TrailingMinusNumbers:=True
                    Cells(a, "T") = Val(Cells(a, "Q")) * Val(Cells(a, "R")) * Val(Cells(a, "S")) * 7850 / 1000000000 * 1.1  '1,1 yuvarlama değeri
                    Cells(a, "U") = WorksheetFunction.Round(Cells(a, "T"), 0)
                    Cells(a, "G") = Cells(a, "U") & " kg"
                    a = a + 1
                End If
            Next
            
           Application.ScreenUpdating = True
        Else
            MsgBox "Hatalı Şifre. Sahibine danışın :)", vbInformation, "Uyarı"
            Application.Quit
        End If
        
        Dim r As Range, rr As Range
        Range("G2:G" & Cells(Rows.Count, "G").End(xlUp).Row).Select
        Set rr = Selection
        For Each r In rr
            r.Select
            Application.SendKeys "{F2}"
            Application.SendKeys "{ENTER}"
            DoEvents
        Next
        
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Devam etmek istediğiniz kod satırının başına örneğin 10: yazın, Exit sub yerine de GoTo 10 yazın.
Sanırım istediğiniz böyle bir şey.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayı yazılacaksa iki nokta üstüste kullanılmasına gerek yoktur. Eğer devam edilecek noktaya metinsel ifade yazılırsa iki nokta üstüste kullanılmalıdır.
 
Katılım
23 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
23-01-2020
Ömer Bey / Korhan Bey verdiğiniz bilgiler için teşekkürler. İstediğim buydu.

İyi çalışmalar.
 
Üst