Seçilen alanda formül içeren hücrelerin listesini formülü içeren hücrenin adresleriyle birlikte listeleyen VBA kodu alternatifidir.
Option Explicit
Sub SecilenAlandakiFormulleriAdresleriyleBirlikteListele()
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim secilenAlan As Range
Dim listeAlani As Range
Dim hucre As Range
Dim sayac As Long
'--------------------------------------------------
'Ayarlamalar
'--------------------------------------------------
sayac = 1
Set secilenAlan = Selection.SpecialCells(xlFormulas)
Set listeAlani = Range("K1")
listeAlani.CurrentRegion.ClearContents
listeAlani.Value = "Formülün Bulunduğu Hücrenin Adresi"
listeAlani.Offset(0, 1).Value = "Hücrenin İçerdiği Formül"
'--------------------------------------------------
'Listeleme İşlemi
'--------------------------------------------------
For Each hucre In secilenAlan
listeAlani.Offset(sayac, 0).Value = hucre.Address
listeAlani.Offset(sayac, 1).Value = "'" & hucre.Formula
sayac = sayac + 1
Next
'--------------------------------------------------
'Sütun Genişliğini Ayarlama İşlemi
'--------------------------------------------------
listeAlani.CurrentRegion.EntireColumn.AutoFit
End Sub
Option Explicit
Sub SecilenAlandakiFormulleriAdresleriyleBirlikteListele()
'--------------------------------------------------
'İçindeki formülleri listelemek için seçeceğimiz
'alanı atayacağımız değişken.
'--------------------------------------------------
Dim secilenAlan As Range
'--------------------------------------------------
'Hücre adreslerini ve formüllerini listelemek
'için kullanılacak alanın başlangıç noktasını
'atadığımız değişken.
'--------------------------------------------------
Dim listeAlani As Range
'--------------------------------------------------
'Döngü için kullanılacak. Seçilen alandaki
'her hücre için işlem yapacağız. Bu alandaki
'her hücreyi "hucre" isimli değişkene
'atayarak işlem yapacağız.
'--------------------------------------------------
Dim hucre As Range
'--------------------------------------------------
'Listeleme işlemi için kullanılacak artırma sayacı.
'--------------------------------------------------
Dim sayac As Long
'--------------------------------------------------
'Listeleme işlemi için kullanacağımız sayac
'değişkenine başlangıç değeri atadık.
'--------------------------------------------------
sayac = 1
'--------------------------------------------------
'Seçilen alan için işlem yapmak istiyoruz.
'Burada da formül içeren hücrelerle işlem
'yapacağımızı belirtiyoruz.
'--------------------------------------------------
Set secilenAlan = Selection.SpecialCells(xlFormulas)
'--------------------------------------------------
'Hücre adreslerinin ve formüllerin listeleneceği
'alan için bir referans noktası verdik. Listeleme
'işlemi bu koda göre K1 hücresinden başlayacak
'şekilde yapılacak.
'--------------------------------------------------
Set listeAlani = Range("K1")
'--------------------------------------------------
'Yeni listeleme işlemine başlamadan önce liste
'alanını temizliyoruz.
'--------------------------------------------------
listeAlani.CurrentRegion.ClearContents
'--------------------------------------------------
'Liste alanında ilk satıra başlıkları yazdırıyoruz.
'Referans noktası K1 hücresiydi. Buna göre
'K sütununa hücre adreslerini yazdıracağız.
'Bir sağına da hücredeki formülü yazdıracağız.
'Offset metodunu bu amaçla kullandık.
'--------------------------------------------------
listeAlani.Value = "Formülün Bulunduğu Hücrenin Adresi"
listeAlani.Offset(0, 1).Value = "Hücrenin İçerdiği Formül"
'--------------------------------------------------
'Seçilen alan için hücre içeren formülleri
've adreslerini listeleyen döngüyü çalıştır.
'--------------------------------------------------
For Each hucre In secilenAlan
'--------------------------------------------------
'Hücrenin adresini yazdır.
'--------------------------------------------------
listeAlani.Offset(sayac, 0).Value = hucre.Address
'--------------------------------------------------
'Hücrenin formülünü yazdır.
'--------------------------------------------------
listeAlani.Offset(sayac, 1).Value = "'" & hucre.Formula
'--------------------------------------------------
'Sayacı artırıyoruz. Böylelikle mevcut satırın
'üzerine yazmak yerine yeni boş satıra veri
'yazdırıyoruz.
'--------------------------------------------------
sayac = sayac + 1
Next
'--------------------------------------------------
'Sütun genişliğini hücrelerdeki içeriği
'komple gösterecek şekilde yeniden ayarla.
'--------------------------------------------------
listeAlani.CurrentRegion.EntireColumn.AutoFit
End Sub