Modül Güncelleme Hk

Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
Merhabalar Yine buradan bir arkadaşın yaptiği bir gelir vergisi hesaplama modülünü bir parça daha geliştirmek üzere yaptığım değişiklik sonrası fonksiyon çalışıyor fakat güncelleme sorunu var bunu nasıl düzeltebiliriz.


Kod:
Function VERGİ2010(KümlatifMatrah As Double, VergiMatrahi As Double)
    If KümlatifMatrah + VergiMatrahi <= [KATSAYI!F4] Then VERGİ2010 = 0.15 * VergiMatrahi: Exit Function
    If KümlatifMatrah + VergiMatrahi >= ([KATSAYI!F4] + 1) And KümlatifMatrah + VergiMatrahi <= [KATSAYI!G4] Then
        ilkoran = 0.15: ikincioran = 0.2: sontutar = [KATSAYI!F4]: GoTo hesapla
    ElseIf KümlatifMatrah + VergiMatrahi >= ([KATSAYI!G4] + 1) And KümlatifMatrah + VergiMatrahi <= [KATSAYI!H4] Then
        ilkoran = 0.2: ikincioran = 0.27: sontutar = [KATSAYI!G4]: GoTo hesapla
    ElseIf KümlatifMatrah + VergiMatrahi >= ([KATSAYI!H4] + 1) Then
        ilkoran = 0.27: ikincioran = 0.35: sontutar = [KATSAYI!H4]: GoTo hesapla
    End If
hesapla:
    If KümlatifMatrah <= sontutar Then
        VERGİ2010 = ilkoran * ((sontutar - KümlatifMatrah)) + ikincioran * (((KümlatifMatrah + VergiMatrahi) - sontutar))
    Else
        VERGİ2010 = ikincioran * VergiMatrahi
    End If
End Function

Fonksiyonda [KATSAYI!F4] ile belirtilen yerde 9400 [KATSAYI!G4] te 23000 [KATSAYI!H4] 53000 yazıyordu ben bunu sayfada bir hücreye yönlendirdim bu konuda yeterli deneyimi olmayanlar kullanabilsin diye ama katsayı sayfasındaki f4 hücresindeki 9400 değeri sonraki sene değişince formülün döndürdüğü değer hemen değişmiyor F2 ENTER yapınca düzeliyor bunun sebebi nedir yardımlarınız için teşekkürler
 
Katılım
20 Ağustos 2009
Mesajlar
520
Excel Vers. ve Dili
2010 - Türkçe
Sub Güncelle()
Application.Calculation = xlCalculationAutomatic
End Sub

ekleyin.
 
Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
Sub Güncelle()
Application.Calculation = xlCalculationAutomatic
End Sub

ekleyin.
:yardim:
Bu kodu nereye eklemem gerektiği hakkında en ufak bir fikrim yok :???:
Fonksiyondan sonraya ve sayfaya ekledim katsayıf4 teki değeri değiştirince otomatik değiştirmiyor
 
Son düzenleme:
Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
Tekrar açıklayayım hocam fonksiyon çalışıyor sorunsuz gelir vergisi hesaplıyor fakat ben herkes kullanabilsin fonksiyonu değiştirmek zorunda kalmasın diye bir sayfaya gelir vergisi dilimlerini yazıp fonksiyonun değerlerini o sayfadan almasını sağlamaya çalışıyorum. Kabul ediyor Fonksiyon çalışıyor ama 2012 geldiğinde Ocakta gelir vergisi dilimlerini güncelleyince fonksiyon kendini güncellemiyor gelir vergisi hücresine gelip F2 ENTER yapınca güncel değer geliyor
 

Ekli dosyalar

Katılım
20 Ağustos 2009
Mesajlar
520
Excel Vers. ve Dili
2010 - Türkçe
tam olarak, hangi hücrenin değerini değiştirdiğimizde, otomatikman değişmeyen hücre hangisi?
 
Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
Katsayı D10 güncel değeri 9400
Katsayı D10 (1.vergi dilimi) nu 1500 tl ye düşürün
Tablo I8 (gelirvergisi) 138 den 176 ya çıkması gerekiyor
I8 e gelip F2 ENTER yapın değerin değiştiğini göreceksiniz
Bunun otomatik olması gerekiyor.
 
Katılım
20 Ağustos 2009
Mesajlar
520
Excel Vers. ve Dili
2010 - Türkçe
makrosuz ctrl+alt+f9 a basarakta yapabilirsiniz.
 
Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
elinize sağlık bunun otomatik hesaplamama sebebini yazabilirmisiniz hocam
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Alternatif kod

Kod:
Function gelir(kümülatif_matrah, matrah)
sayfa = "KATSAYI"
Dim a(4)
Dim b(4)
Dim c(4)
Dim vergi(4)
vergi1 = 0
vergi2 = 0
i = 1
rakam = kümülatif_matrah + matrah
rakam1 = kümülatif_matrah
'______________________________
'yüzde oranları
a(1) = Worksheets(sayfa).Cells(10, "B").Value
a(2) = Worksheets(sayfa).Cells(11, "B").Value
a(3) = Worksheets(sayfa).Cells(12, "B").Value
a(4) = Worksheets(sayfa).Cells(13, "B").Value
'______________________________
'vergi dilimleri
b(1) = Worksheets(sayfa).Cells(10, "D").Value
b(2) = Worksheets(sayfa).Cells(11, "D").Value
b(3) = Worksheets(sayfa).Cells(12, "D").Value
b(4) = Worksheets(sayfa).Cells(13, "D").Value * rakam
'______________________________
c(1) = b(1)
c(2) = b(2) - b(1)
c(3) = b(3) - b(2)
c(4) = b(4) - b(3)
While rakam > 0
'---------------------------------
If rakam >= c(i) Then
vergi(i) = ((c(i) * a(i)) / 1)
rakam = rakam - c(i)
ElseIf rakam < c(i) Then
c(i) = rakam
rakam = rakam - c(i)
vergi(i) = ((c(i) * a(i)) / 1)
Else
vergi(i) = ((c(i) * a(i)) / 1)
End If
vergi1 = vergi1 + vergi(i)
'---------------------------------
If rakam1 >= c(i) Then
vergi(i) = ((c(i) * a(i)) / 1)
rakam1 = rakam1 - c(i)
ElseIf rakam1 < c(i) Then
c(i) = rakam1
rakam1 = rakam1 - c(i)
vergi(i) = ((c(i) * a(i)) / 1)
Else
vergi(i) = ((c(i) * a(i)) / 1)
End If
vergi2 = vergi2 + vergi(i)
'---------------------------------
i = i + 1
Wend
gelir = Round(vergi1 - vergi2, 2)
End Function
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Soru başlığınızda yanlış gibi geldi bana madül güncelleme yerine kad güncelleme veya kodu revize etmek olsaydı iyi olmazmıydı,?
 
Katılım
17 Nisan 2009
Mesajlar
52
Excel Vers. ve Dili
2003-2007 TR
Soru başlığınızda yanlış gibi geldi bana modül güncelleme yerine kad güncelleme veya kodu revize etmek olsaydı iyi olmazmıydı,?
Belkide dediğiniz doğrudur ama insan bazen düşündüğünüz anlatmada zorlanıyor Adına İster bilgisizlik deyin ister iyi bir hatip olamamak Yardımınız için teşekkür ederim sizin alternatif kodunuzun benimkinden farkı nedir
 
Üst