Seçilen alandaki formül içeren hücreleri tespit eden ve tespit edilen bu hücreleri verilen alandan itibaren hücre adresleriyle ve formül bilgisiyle beraber listeleyen VBA kodudur.
Option Explicit
Sub SecilenAlandaFormulleriBulVeAdresleriyleBeraberListele()
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim sayac As Integer
Dim hucre As Range
Dim kaynakAlan As Range
Dim listelemeAlani As Range
'--------------------------------------------------
'Değişkenlere değer ataması yap.
'--------------------------------------------------
Set kaynakAlan = Selection.SpecialCells(xlFormulas)
Set listelemeAlani = Range("P1")
'--------------------------------------------------
'Listeleme yapılacak alan için ayarlama yap.
'--------------------------------------------------
listelemeAlani.CurrentRegion.ClearContents
listelemeAlani.Value = "Hücre Adresi"
listelemeAlani.Offset(0, 1).Value = "Formül"
'--------------------------------------------------
'Seçim durumuna göre yazdırma işlemi yap.
'--------------------------------------------------
If Selection.Count > 1 Then
For Each hucre In kaynakAlan
sayac = sayac + 1
listelemeAlani.Offset(sayac, 0).Value = hucre.Address
listelemeAlani.Offset(sayac, 1).Value = "" & hucre.Formula
Next
ElseIf Selection.Count = 1 And Left(Selection.Formula, 1) = "=" Then
listelemeAlani.Offset(1, 0).Value = Selection.Address
listelemeAlani.Offset(1, 1).Value = "" & Selection.Formula
Else
MsgBox "Formül içeriği bulunamadı."
End If
'--------------------------------------------------
'Listeleme alanını otomatik olarak boyutlandır.
'--------------------------------------------------
listelemeAlani.CurrentRegion.EntireColumn.AutoFit
End Sub