Giriş |  Kayıt

Yeni başlık gönder Başlığa cevap ver

01 Ara 2009 10:58

Site Yöneticisi
Kayıt: 20 Kas 2008 13:43
Başlıklar: 132
Mesajlar: 208
Çevrimdışı

http://www.excelturk.com forum sayfasında gördüğüm bir çalışmayı sizlerle paylaşmak istiyorum. Çok güzel bir çalışma olduğunu düşündüğüm için forum sayfamızdaki üyelerinde yararlanması için buraya ekledim.

Gerçektende Excel ihtiyaç duyacağınız bir çok işlemi gerçekleştirmenize imkan veren bir çok yerleşik fonksiyona sahiptir. Mesela hazırladığınız bir Ücret tablosunda Gelir Vergisini çok rahatlıkla

= YUVARLA(Vergi Matrahının olduğu Hücre Adresi X Vergi Oranı) Formülü ile hesaplatabilirsiniz.

Ancak bundan daha güzel bir çözüm bulmak daha da güzel olmazmı. Mesela Öyle bir Fonksiyon olsaki yeni yılda bunun için hazırlanmış bir excel sayfasına gelir vergisi tarifelerini girdiğimiz otomatik olarak toplam matrahıda kontrol ederek kesilecek gelir vergisini hesaplasa. Sesinizi duyar gibiyim. Eminim hepiniz daha iyi olur diyorsunuzdur. Birçoğunuzun başına gelmiştir belkide, yeni yılda formüllerde değişiklik yapmayı unuttuğunuz için hatalı hesaplamalara neden olduğunuz olmuştur. Şimdi sözü fazla uzatmadan kullanıcı tanımlı Fonksiyonumuzu hazırlayalım.

1. Önce boş bir Excel dosyası Açalım.
2. Dosyamızı Farklı Kaydet İle masa üztüne Gelir Vergisi.xls Olarak kaydedelim. İsterseniz siz başka bir isimde verebilirsiniz.
3. Gelir Versi.Xls dosyasında bize iki sayfalazım olacak. Sayfa1'in ismini Tarife Olarak, Sayfa2'nin isminide Hesap Olarak Değiştirelim. Sayfa İsmi Değiştirmeyi Nasıl Yapacağınızı burada anlatmaya gerek yok sanırım. Dosyamızın aşağıdaki gibi biçimlendirelim.
Resim

Resim

4. Hesap isimli sayfamızda C3 hücresine aşağıdaki formülü yazın.

Kod: Tümünü seç
=GV(A3+B3)-GV(A3)



5. Alt+F11 Tuşuna basarak Microsoft Visual Basic Editörünü açalım.
6. İnset Menüsünden Module konutuna tıklayarak projemize bir modül ekleyelim.
7. Eklediğimiz modülü seçip buraya aşağıdaki kodu ekleyelim.

Kod: Tümünü seç
    Function GV(Matrah As Double)
        If Matrah >= 0 And Matrah < Sheets("Tarife").Range("B2").Value# + 1# _
    Then GV = Sheets("Tarife").Range("C2").Value# * Matrah
        If Matrah > Sheets("Tarife").Range("B2").Value# And Matrah < Sheets("Tarife").Range("B3").Value# + 1# _
    Then GV = Sheets("Tarife").Range("C3").Value# * (Matrah - Sheets("Tarife").Range("B2").Value#) + _
    (Sheets("Tarife").Range("B2").Value# * Sheets("Tarife").Range("C2").Value#)
        If Matrah > Sheets("Tarife").Range("B3").Value# And Matrah < Sheets("Tarife").Range("B4").Value# + 1# _
    Then GV = Sheets("Tarife").Range("C4").Value# * (Matrah - Sheets("Tarife").Range("B3").Value#) + _
    ((Sheets("Tarife").Range("B2").Value# * Sheets("Tarife").Range("C2").Value#) + _
    ((Sheets("Tarife").Range("B3").Value# - Sheets("Tarife").Range("B2").Value#) * _
    Sheets("Tarife").Range("C3").Value#))
        If Matrah > Sheets("Tarife").Range("B4").Value# _
    Then GV = Sheets("Tarife").Range("C5").Value# * (Matrah - Sheets("Tarife").Range("B4").Value#) + _
    (((Sheets("Tarife").Range("B2").Value# * Sheets("Tarife").Range("C2").Value#) + _
    ((Sheets("Tarife").Range("B3").Value# - Sheets("Tarife").Range("B2").Value#) * _
    Sheets("Tarife").Range("C3").Value#)) + _
    ((Sheets("Tarife").Range("B4").Value# - Sheets("Tarife").Range("B3").Value#) * _
    Sheets("Tarife").Range("C4").Value#))
    End Function



Hepsi bu kadar. Şimdi excel sayfasına dönerek Hesap isimli sayfada Toplam matrahı ve Aylık Matrahı girerek Gelir Vergisinin doğru bir şekilde hesaplandığını görelim. Gerçektende Kullanıcı tanımlı bu fonksiyonu çalıştığınız excel sayfasına ekleyerek (Mesela Bir Maaş Bordrosu çalışmanıza) hatasız Gelir Vergisi hesaplatması yaptırabilirsiniz. İsteyenler dosyayı aşağıdan indirebilirler.

[link]http://excelturk.com/kullanici-tanimli-fonksiyonlar-hazirlamak-t197.html[/link] linkinden Gelir Vergisi.xls dosyasını indirebilirsiniz.


Başa Dön Başa Dön
 
 
Eskiden itibaren mesajları göster:  Sırala  
Yeni başlık gönder Başlığa cevap ver
 1. sayfa (Toplam 1 sayfa)  [ 1 mesaj ] 

Tüm zamanlar UTC + 2 saat [ GITZ ]


Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 0 misafir


Bu foruma yeni başlıklar gönderemezsiniz
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı düzenleyemezsiniz
Bu forumdaki mesajlarınızı silemezsiniz


Aranacak:
Geçiş yap:  

Site haritası


YGH Forum memurlar Toner windows 8 indir Grafik Tasarım kanal d oyunları silah oyunları araba oyunları ukash ukash kart maurers satılık daire kamp çadırı