go to deyimi

Katılım
5 Eylül 2019
Mesajlar
47
Excel Vers. ve Dili
excel 2007
üstadlar merhaba,

şu förmüle bir bakabilir misiniz, go to deyimini doğrumu kullanmışım. "end if without block if" uyarısını alıyorum.
amacım şu, personel "normal" ise line1 hesaplaması geçsin. değilse line2 hesaplaması.

Sub maashesapla()
Sayfa4.Activate

netmaas = Sayfa4.Range("c3")
brüt = netmaas / 0.71491
ssk_isci_payi = 0.14
ssk_issizlik = 1 / 100
damga_vergisi = brüt * 0.00759
gv_matrahı = brüt - ssk_isci_payi - ssk_issizlik - damga_vergisi
gv_kesinti = gv_matrahı * 0.15

If Range("n2") = "normal" Then GoTo line1 Else GoTo line2

line1:
Range("c4") = brüt
Range("c6") = brüt * ssk_isci_payi
Range("c7") = brüt * ssk_issizlik
Range("c11") = Range("c4") * 0.00759
Range("c8") = Range("c4") - Range("c6").Value - Range("c7").Value
Range("c9") = Range("c8") * 0.15
Range("c12") = Range("c4") - Range("c6") - Range("c7") - Range("c9") - Range("c11") + Range("c10")

line2:
Range("c4") = Range("c3") * 0.77866
Range("c6") = Range("c4") * 0.75
Range("c7") = 0
Range("c11") = Range("c4") * 0.00759
Range("c8") = Range("c4") - Range("c6").Value
Range("c9") = Range("c8") * 0.15
Range("c12") = Range("c4") - Range("c6") - Range("c9") - Range("c11") + Range("c10")
End If

End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

End if satırını silin ve line2: satırında önce exit sub ilave edin. Bu şekilde line1 den sonra işlem line2 ye geçmeden sona erecektir.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Alternatif olarak Goto kullanmadan sadece If sorgusuyla aşağıdaki şekilde de olabilir:

PHP:
Sub maashesapla()
    Sayfa4.Activate
    
    netmaas = Sayfa4.Range("c3")
    brüt = netmaas / 0.71491
    ssk_isci_payi = 0.14
    ssk_issizlik = 1 / 100
    damga_vergisi = brüt * 0.00759
    gv_matrahı = brüt - ssk_isci_payi - ssk_issizlik - damga_vergisi
    gv_kesinti = gv_matrahı * 0.15
    
    If Range("n2") = "normal" Then
        Range("c4") = brüt
        Range("c6") = brüt * ssk_isci_payi
        Range("c7") = brüt * ssk_issizlik
        Range("c11") = Range("c4") * 0.00759
        Range("c8") = Range("c4") - Range("c6").Value - Range("c7").Value
        Range("c9") = Range("c8") * 0.15
        Range("c12") = Range("c4") - Range("c6") - Range("c7") - Range("c9") - Range("c11") + Range("c10")
    Else
        Range("c4") = Range("c3") * 0.77866
        Range("c6") = Range("c4") * 0.75
        Range("c7") = 0
        Range("c11") = Range("c4") * 0.00759
        Range("c8") = Range("c4") - Range("c6").Value
        Range("c9") = Range("c8") * 0.15
        Range("c12") = Range("c4") - Range("c6") - Range("c9") - Range("c11") + Range("c10")
    End If

End Sub
 
Üst