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

Katılım
6 Mart 2024
Mesajlar
10
Excel Vers. ve Dili
Excel 2013 TR & Excel 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
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
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:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
İyi çalışmalar...
 
Katılım
6 Mart 2024
Mesajlar
10
Excel Vers. ve Dili
Excel 2013 TR & Excel 2016 TR
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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%)
 
Katılım
6 Mart 2024
Mesajlar
10
Excel Vers. ve Dili
Excel 2013 TR & Excel 2016 TR
Aşağıdaki sadece öneridir..
Öneri için teşekkürler..

KTF yi kullanacağım sayfa yukarıda ki Örnek Uygulama kadar primitif değil
yeni bir Sütun ekleyerek çıktıda bir alan kaybetmek istemedim.
 
Üst