Aktif hücrenin satır ve sütun bilgisini fonksiyonda verilen parametreye göre biçimlendiren ve bu şekilde yazdıran bir KTF (kullanıcı tanımlı fonksiyon) örneğidir.
Option Explicit
'--------------------------------------------------
'Fonksiyonun ürettiği sonuçlar.
'--------------------------------------------------
Enum SonucCiktisi
scSayi = 0
scSayiVeMetin = 1
scSayiVeMetinUzun = 2
End Enum
Function AktifHucreninSatirVeSutunBilgisiniYazdir(Optional cikti As SonucCiktisi = 0) As String
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim satir As Long
Dim sutun As Long
'--------------------------------------------------
'Satır ve sütun bilgisini ata.
'--------------------------------------------------
satir = ActiveCell.Row
sutun = ActiveCell.Column
'--------------------------------------------------
'Fonksiyon parametresinde verilen
'değere göre sonuç üret.
'--------------------------------------------------
Select Case cikti
Case "0"
AktifHucreninSatirVeSutunBilgisi = satir & " | " & sutun
Case "1"
AktifHucreninSatirVeSutunBilgisi = "SAT " & satir & " | " & "SUT " & sutun
Case "2"
AktifHucreninSatirVeSutunBilgisi = "SATİR: " & satir & " | " & "SUTUN: " & sutun
Case Else
AktifHucreninSatirVeSutunBilgisi = satir & " | " & sutun
MsgBox "Olmayan bir seçenek seçildi. Varsayılan sonuç yazdırıldı."
End Select
End Function
Option Explicit
'--------------------------------------------------
'Fonksiyonun ürettiği sonuçları bu Enum ile
'standartlaştırdık. Böylelikle kullanıcı
'alternatif bir sonuç üretmek istediği zaman
'bu standartlaştırılmış listeyi kullanarak
'işlem yapabilecek.
'--------------------------------------------------
Enum SonucCiktisi
scSayi = 0
scSayiVeMetin = 1
scSayiVeMetinUzun = 2
End Enum
Function AktifHucreninSatirVeSutunBilgisiniYazdir(Optional cikti As SonucCiktisi = 0) As String
'--------------------------------------------------
'Değişkenler
'Satır ve sütun bilgilerini ayrı
'değişkenlere tanımlanacak.
'--------------------------------------------------
Dim satir As Long
Dim sutun As Long
'--------------------------------------------------
'Satır ve sütun bilgisini ata.
'--------------------------------------------------
satir = ActiveCell.Row
sutun = ActiveCell.Column
'--------------------------------------------------
'Fonksiyon parametresinde verilen
'değere göre sonuç üret. Böylelikle
'daha esnek bir çıktı alabileceğiz.
'
'Bu arada fonksiyon aslında string
'bir sonuç üretiyor fakat bu string
'ifadenin biçimi değişiyor.
'--------------------------------------------------
Select Case cikti
'--------------------------------------------------
'Eğer fonksiyondaki Enum parametresi 0 olarak
'ayarlanmışsa sadece sayılar ve bu sayıları
'[boşluk uzun çizgi boşluk] yani çift tırnaklar
'hariç " | " şeklinde ayıran bir ifade birleştirilip
'sonuç olarak döndürülecek.
'--------------------------------------------------
Case "0"
AktifHucreninSatirVeSutunBilgisi = satir & " | " & sutun
'--------------------------------------------------
'Satır ve sütun isimlerinin sonuca kısa
'isimlerle dahil edildiği bir sonuç üret.
'--------------------------------------------------
Case "1"
AktifHucreninSatirVeSutunBilgisi = "SAT " & satir & " | " & "SUT " & sutun
'--------------------------------------------------
'Satır ve sütun isimlerinin kısaltılmadan
'dahil edildiği bir sonuç üret.
'--------------------------------------------------
Case "2"
AktifHucreninSatirVeSutunBilgisi = "SATİR: " & satir & " | " & "SUTUN: " & sutun
'--------------------------------------------------
'Yukarıdaki durumların aksi bir durum meydana
'geldiğinde aşağıdaki sonucu döndür.
'--------------------------------------------------
Case Else
AktifHucreninSatirVeSutunBilgisi = satir & " | " & sutun
MsgBox "Olmayan bir seçenek seçildi. Varsayılan sonuç yazdırıldı."
End Select
End Function