• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Kullanıcı Tanımlı Fonksiyonlarla Maaş Hesaplama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

AHMET4615

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
11 May 2021
Mesajlar
299
Çözümler
1
Aldığı beğeni
89
Excel V
Office 2016 TR
Konuyu Başlatan
Merhabalar Arkadaşlar Vba Ortamında Yazılan Kullanıcı Tanımlı Fonksiyonlar İle Maaş Hesaplama Yapıyorum Fakat vba da iyi olmadığım için Hücrelerden Alsın İstiyorum yapamadım.Veri Sayfasındaki Yasal Kesinti Oranları C2 İle C5 arasındaki Hücrelerden Vergi Dilimlerini D9 İle D13 arasındaki Hücrelerden Vergi oranları ise C9 İle C13 Olan Hücrelerden Ayrıca Kira,Market,Yardım Yakıt vb .Özel Kesintileride C16 İle C19 Olan Hücrelerden Kodlardaki 150018.75H2 Hücresinden Alsın Yardımcı olurmusunuz
 

Ekli dosyalar

  • Brütten Net Maaş Hesaplama 2024.xlsm
    29.3 KB · Gösterim: 9
Çözüm
Sağ üstte ARA diye bir yer var oraya MAAŞ veya Bordro yazın


Burda ben az 5-6 tane örnek paylaştım
Merhaba.

Dosyanızda kullanıcı tanımlı bir fonksiyon yok.
Siz hangi fonksiyondan bahsediyorsunuz?
 
KTF yerine formül mü kullanmak. istiyorsunuz.
gv KTF Gelir vergisini doğru hesaplamıyor gibi geldi bana.
 
If TMatrah < 150018.75 Then

olan kısımdaki SGK tavanını H2 hücresine yazmışsın bu durumda aşağıdaki gibi yazabilirsin.

If TMatrah < Range("h2").Value Then
 
Moderatör tarafında düzenlendi:
Hocam sizinde dediğiniz gibi kodları hücrelerden alacak vba da pek iyi değilim sizden ricam kodları düzenleme yapıp paylaşabilir misiniz size zahmet selamlar Allah'a emanet olun
 
Moderatör tarafında düzenlendi:
Hocam sizinde dediğiniz gibi kodları hücrelerden alacak vba da pek iyi değilim sizden ricam kodları düzenleme yapıp paylaşabilir misiniz size zahmet selamlar Allah'a emanet olun

Hocam bu aralar çok tembelim kodların içinde kaybolmak çok yorucu geliyor daha önce kendi hazırladığım bir net brüt exceli var onu paylaşiyim sizle net brüt yada brüt net fark etmez "E1" hücresini değiştirerek kullanabilirsiniz.
 

Ekli dosyalar

  • NET-BRÜT.xlsm
    58.4 KB · Gösterim: 10
Hocam bu aralar çok tembelim kodların içinde kaybolmak çok yorucu geliyor daha önce kendi hazırladığım bir net brüt exceli var onu paylaşiyim sizle net brüt yada brüt net fark etmez "E1" hücresini değiştirerek kullanabilirsiniz.
teşekkür ederim hocam vba şifreli şifresiz gönderebilirmisiniz
 
Bu forumda bile en az 10 adet Bordro Hesaplama/Maaş Hesaplama excelleri var. VBA veya Formüllü.
 
Sağ üstte ARA diye bir yer var oraya MAAŞ veya Bordro yazın


Burda ben az 5-6 tane örnek paylaştım
 
Çözüm
Sağ üstte ARA diye bir yer var oraya MAAŞ veya Bordro yazın


Burda ben az 5-6 tane örnek paylaştım
Emeğinize sağlık hocam daha varsa paylaşabilir misiniz
 
Sayın AHMET4615
Fonksiyonların girdisi neyse onu atayacaksınız.
Bu çok zor bir şey değil ki.
Mesela aşağıdaki fonksiyon.

Function Brut(Net As Double, KGVM As Double, SGKMatrah As Double)

4 adet double türünde girdi var.

Siz fonkiyonun adını yazıp parantezi açtığınızda zaten sizden
ne tür parametreler istenir onlar görünür.
Siz bu girdileri ister değişkenlere atayarak verin ister direk hücrelerden verin
değişen bir şey olmaz. Direk hücrelerden verirseniz hücre biçimlendirmesinin ilgili
girdi türünde olması istenir. Ya değilse hata alırsınız.

Dosyanızdan bağımsız basit bir örnek.

Dim S1 As Worksheet
Dim deg1 As Double, deg2 As Double, deg3 As Double, deg4 As Double
'Çıktı da haliyle Double olacak.
Dim cikti_degisken, cikti_hucre As Double

Set S1 = Sheets("Sayfa2")

cikti_degisken = Brut(deg1, deg2, deg3, deg4)

Bu cikti_degisken sonucunu da nereye yazmak istiyorsanız oraya yazın.

cikti_hucre = Brut(S1.Range("A1"), S1.Range("A2"), S1.Range("A3"), S1.Range("A4"))
Bunu da istediğiniz yere yazın.
Kabaca böyle.

NOT:
Hastayım dosyanızı anlamaya dermanım yok. Öylesine bakarken gördüm.
İçim elvermedi. Bir şeyler yazayım dedim.
Örneğin dosyanızdan bağımsız olmasını sebebi de bu.
 
Sayın AHMET4615
Fonksiyonların girdisi neyse onu atayacaksınız.
Bu çok zor bir şey değil ki.
Mesela aşağıdaki fonksiyon.

Function Brut(Net As Double, KGVM As Double, SGKMatrah As Double)

4 adet double türünde girdi var.

Siz fonkiyonun adını yazıp parantezi açtığınızda zaten sizden
ne tür parametreler istenir onlar görünür.
Siz bu girdileri ister değişkenlere atayarak verin ister direk hücrelerden verin
değişen bir şey olmaz. Direk hücrelerden verirseniz hücre biçimlendirmesinin ilgili
girdi türünde olması istenir. Ya değilse hata alırsınız.

Dosyanızdan bağımsız basit bir örnek.

Dim S1 As Worksheet
Dim deg1 As Double, deg2 As Double, deg3 As Double, deg4 As Double
'Çıktı da haliyle Double olacak.
Dim cikti_degisken, cikti_hucre As Double

Set S1 = Sheets("Sayfa2")

cikti_degisken = Brut(deg1, deg2, deg3, deg4)

Bu cikti_degisken sonucunu da nereye yazmak istiyorsanız oraya yazın.

cikti_hucre = Brut(S1.Range("A1"), S1.Range("A2"), S1.Range("A3"), S1.Range("A4"))
Bunu da istediğiniz yere yazın.
Kabaca böyle.

NOT:
Hastayım dosyanızı anlamaya dermanım yok. Öylesine bakarken gördüm.
İçim elvermedi. Bir şeyler yazayım dedim.
Örneğin dosyanızdan bağımsız olmasını sebebi de bu.
Teşekkur ederim geçmis olsum Allah acil şifalar versin
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst