• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ÇÖZÜLDÜ: Makroyla KDV ve Matrahı ayırma

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,588
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Pro x64 TR
Değerli Dostlar,


Ekli dosyada yapılan harcamaların KDV ve matrahını formülle hesaplıyorum. Ancak bazı faturalarda birden fazla KDV matrah ve oranı bulunmakta olması dolayısıyla formülle hesaplama yapmak mümkün olamamaktadır.

Sizlerden ricam, H kolonundaki (kdv'li) Tutar'ın ; J kolonunda %0, %1, %8, %18 oranından yararlanarak, K (KDV Tutarı) ve L (KDV Matrahı) sütunlarına makro ile hesaplama yapılmasıdır.

Makroyla hesaplanan satırlarda, birden fazla kdv oranı olan kayıtları manuel olarak düzeltmeyi düşünüyorum.

Yardım ve katkılarınız için önceden teşekkürler.
 

Ekli dosyalar

Son düzenleme:
Sayın assenucler ; KDV li tutarın J kolonundaki oranlardan yararlanması derken neyi kast ettiniz ? Yani yazdığınız giderlerin kdv tutarları bu mu olacak ? Otomatik oraya hesaplanıp gelsin istiyorsunuz ama birden fazla kdv oranı olunca manuel değiştirmeyi planlıyorsunuz.. Kafamı karıştırdı orası. Yoksa sabit KDV oranlarıyla alakalı olarak buna benzer bir çalışmam var. Size yönlendireceğim ona göre ama kafamı karıştırdı oralar
 
Sayın assenucler ; KDV li tutarın J kolonundaki oranlardan yararlanması derken neyi kast ettiniz ? Yani yazdığınız giderlerin kdv tutarları bu mu olacak ? Otomatik oraya hesaplanıp gelsin istiyorsunuz ama birden fazla kdv oranı olunca manuel değiştirmeyi planlıyorsunuz.. Kafamı karıştırdı orası. Yoksa sabit KDV oranlarıyla alakalı olarak buna benzer bir çalışmam var. Size yönlendireceğim ona göre ama kafamı karıştırdı oralar

Sayın TEGCreative;

Öncelikle ilginiz için teşekkürler.

Ön muhasebeden firmanın muhasebesine belgeleri yollarken:
Harcama belgelerinde yazılı olan kdv'li tutarlar, ekli excel dosyasına benzer listeye dökülüyor. KDV oranını "veri doğrulama" ile hazırlanan listeden seçince, formülle kdv tutarı ve matrahı anında alabiliyorum.

Ancak, bazı faturalarda birden fazla %8 ve/veya %18; ya da %1, %18 gibi kdv oranı bulunuyor.

İSTEĞİM: Tek bir düğmeye tıkladığımda kdv oranları (J) sütununa gireceğim oranlara göre;
kdv tutarı (K sütunu) ve kdv matrahının (L sütunu) makroyla hızlıca hesaplanmasıdır.

Az sayıdaki (birden fazla kdv oranlı) faturaların, kdv tutarı ve matrahını manuel olarak kendim gireceğim.
 
Sayın assencular ; J sütununda veri doğrulama yolu ile veri alındığından veri girişi sağlanamıyor. Onun yerine şöyle bir çözüm sunabildim size. Veri doğrulamayı iptal edin ve oraya el ile giriş yapın. Kdv oranını da direk bir şekilde yani %18 ise 18 şeklinde girin ve çözümlemeyi inceleyin. Umarım işe yarar. Kolay gelsin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J6:J26]) Is Nothing Then GoTo 10
If Target = "" Then Exit Sub
If Target.Offset(0, 0) <> "" Then
    If IsNumeric(Target.Offset(0, 0)) = True Then
        KDVhariç = WorksheetFunction.Round((Target.Offset(0, -2)) - (((Target.Offset(0, -2) * (Target.Offset(0, 0))) / 100)), 2)
        Target.Offset(0, 1) = Target.Offset(0, -2) - KDVhariç
        Target.Offset(0, 2) = KDVhariç
    End If
End If

10:

End Sub
 
Test sonucu doğru ve hatalı sonuçlar bulunuyor

Zaman ayırarak yolladığınız kodları girip, test ettim.

%1 kdv oranı uygulandığında makroyla hesaplanan kdv tutarı ile kdv matrahı doğru sonuç veriyor.

%8 ve % 18 oranı J sütununa girildiğinde, kdv tutarı ile kdv matrahı hatalı sonuç veriyor.

H (tutar) sütunundaki belge bedeli değiştirildiğinde, önceki hesaplama aynen kalıyor, yeni tutara göre güncelleme yapmıyor.

Formülle yaptığım doğrulama işlemleri ekli dosyadadır.

Bilgilerinize, düzeltme konusunda yardımınızı bekliyorum.
 

Ekli dosyalar

Merhaba . Hata benimmiş kusura bakmayın. Bu şekilde denermisiniz bir de ?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J6:J26]) Is Nothing Then GoTo 10
If Target = "" Then Exit Sub
If Target.Offset(0, 0) <> "" Then
    If IsNumeric(Target.Offset(0, 0)) = True Then
        KDVhariç = WorksheetFunction.Round((Target.Offset(0, -2)) / (1 + ((Target.Offset(0, 0)) / 100)), 2)
        Target.Offset(0, 1) = Target.Offset(0, -2) - KDVhariç
        Target.Offset(0, 2) = KDVhariç
    End If
End If

10:

End Sub

Ayrıca tutarda değil de kdv oranını girdiğimizde makro tetikliyor.O yüzden otomatik olmuyor toplam tutar değiştiğinde.
 
Alternatif olsun.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("J6:J[COLOR="red"][B]26[/B][/COLOR]", "H6:H[COLOR="Red"][B]26[/B][/COLOR]")) Is Nothing Then GoTo 10    'Target, [J6:J26) yazılı
If Target = "" Then Exit Sub
If Target.Offset(0, 0) <> "" Then
    If IsNumeric(Target.Offset(0, 0)) = True Then
           KDVhariç = WorksheetFunction.Round(Cells(Target.Row, "H") * 100 / (100 + Cells(Target.Row, "J")), 2)
        Cells(Target.Row, "K") = Cells(Target.Row, "H") - KDVhariç
        Cells(Target.Row, "L") = KDVhariç
    End If
End If
10:
End Sub
 
Son düzenleme:
Sayın TEGCreative ve Sayın vardar07,


Öncelikle teşekkürler.

Ancak ekli dosyanın tetkikinde de görüleceği gibi, yeni satırlar eklendiğinde, kdv tutarı ve kdv matrahı makro komutuyla oluşmuyor.

Yardımınızı bekliyorum.
 

Ekli dosyalar

Dosyadaki kayıt sayısı 300'ün üzerinde olduğundan, kodların buna göre düzenlenmesi gerekiyor mu?
 
Sayın assenucler #7 nolu mesajdaki kırmızı ile belirtilen son satır numarasını isteğinize göre değiştirip deneyiniz.
 
Sayın vardar07,


Yardım ve katkınız için teşekkürler, sorun çözüldü. Bu arada Sayın Sayın TEGCreative emek ve katkıları için de teşekkür ederim.

Sağ olun var olun.

Sevgi ve saygılar.
 
Son düzenleme:
Rica ederim. Sayın TEGCreative yardımcı olmuş. Biz ufak bir değişiklikle yardımcı olduk. Sizde Sağ olun var olun.
 
Merhabalar, işe yaradığına sevindim. Sayın vardar hocam ; estağfurullah biz sadece ufak bir katkı yaptık e tabi o arada da biraz sayın assenucler'e saçlarını yoldurduk yanlış kod ile :) Sorun çözüldüyse problem yok. İyi çalışmalar olsun
 
Geri
Üst