• DİKKAT

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

Çözüldü Kullanıcı tanımlı fonksiyon Hücre Adresi

Katılım
6 Mart 2024
Mesajlar
347
Excel Vers. ve Dili
2010 TR & 2016 TR
Kullanıcı tanımlı fonksiyonun kullanıldığı Adresi bulma

C#:
Function AdresNedir()
 AdresNedir = "Bu Fonksiyonun kullanıldığı hücrenin adresi nedir? (" & ActiveCell.Address & ") F9 Sonrası Değişiyor"
End Function
 
Merhaba,
ADRES formülüyle bu işlem yerleşik olarak mevcut zaten. Ktf ile olması şart mı?
Kod:
=ADRES(SATIR();SÜTUN())
İlave Not:
İlle vba ile yapmak istiyorsanız ActiveCell.Address yerine Application.ThisCell.Address kullanabilirsiniz.
 
Son düzenleme:
Rica ederim,
İyi çalışmalar...
 
Kod u kullandığım Kullanıcı Tanımlı Fonksiyon KDV
Farklı KDV oranlarını Renklerine göre toplar
Kod:
Option Explicit
Sub Auto_Open()
'Biolight 2024 - Eppur Si Muove

Dim FuncName As String
Dim FuncDesc As String
Dim ArgDesc(1 To 2) As String
Dim FuncHelp As String

FuncName = "KDV"

FuncDesc = "RENKlerine göre KDVleri toplar." & vbCrLf & _
"Formülün yazıldığı hücrenin RENGi ile," & vbCrLf & _
"Aralıkta belirlediğiniz Rakamların AYNI RENKte olanlarını Toplayıp," & vbCrLf & _
"Belirlediğiniz KDV Yüzdesi ile çarpar." & vbCrLf & vbCrLf & _
"Sayfa da RENK değişikliği yapınca F9 tıklamanız önerilir."

ArgDesc(1) = "Toplanacak olan ALANı seçiniz."
ArgDesc(2) = "KDV YÜZDEsi kaç ( 10, 20 ) gibi." & vbCrLf & "Boş bırakılırsa 10 kabul edilir."

FuncHelp = "https://web.whatsapp.com/send?phone=+905320000000&Text=Merhaba Excel KDV Fonksiyonu hakkında"

Application.MacroOptions Macro:=FuncName, Description:=FuncDesc, HelpFile:=FuncHelp, ArgumentDescriptions:=ArgDesc

End Sub

Function KDV(Aralik As Range, Optional KdvYuzde As Long = "10") As Double
'Biolight 2024 - Eppur Si Muove

Application.Volatile True

Dim Huc As Range
Dim KdvRengi As Double
Dim ToplamKdv As Double

KdvRengi = Range(Application.ThisCell.Address).Cells.Font.Color

For Each Huc In Aralik
  If Huc.Cells.Font.Color = KdvRengi Then
   ToplamKdv = ToplamKdv + Huc
  End If
Next Huc

ToplamKdv = ToplamKdv * (KdvYuzde / 100)

KDV = ToplamKdv

End Function

Örnek Uygulama

 
Son düzenleme:
Merhaba,

Aşağıdaki sadece öneridir..

Bu işlem için KTF kullanmaya gerek var mıydı..

Sonuç alabilmek için manuel bir işlem yapılıyor.. KDV ayrımı için hücre renklendiriliyor..

Bunun yerine G sütununda ilgili hücre için 10 ya da 20 değerleri kullanarak KDV hesaplaması kolaylıkla yapılabilirdi..

Alternatif çözümler...

C++:
=ETOPLA(G2:G11;10;F2:F11)*10%

C++:
=TOPLA.ÇARPIM((G2:G11=10)*(F2:F11)*10%)
 
=TOPLA.ÇARPIM((G2:G11=10)*(F2:F11)*10%)
Formülün değerini anca anladım.
Sanırım jetonları köşeli kullanıyorum :)

Birden Fazla farklı KDV oranının toplam değerini tek hücrede gösterebiliyormuşuz

Örnek : KDV % (10 + 20) için

=TOPLA.ÇARPIM((G2:G11={0,1;0,2})*(F2:F11)*{0,1;0,2})

Not: G sütununda KDV oranlarının yazıldığı hücrelerin biçimleri 0%

Yeniden Teşekkürler @Korhan Ayhan
 
Geri
Üst