Sayfa isimlerini formül ile listelemek

Katılım
1 Ekim 2004
Mesajlar
206
Merhaba,

Ekli dosyada Sayfa1'e bu dosyada bulunanan bütün sayfaların listesini formül ile yaptırabilir miyiz ? Yeni sayfa eklendiği zaman da etkilesin.Makro çözümü elimde var.Ben formül ile yapmak istiyorum.

Saygılarımla,
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Tüm sayfalarda herhangi bir hücrede ilgili sayfanın adını formülle gösrebilirsiniz. Fakat bunları tek sayfada formülle listelemek sanırım mümkün değil.


İki örnekte size aktif sayfanın adını verir.

Kod:
=PARÇAAL(HÜCRE("DOSYAADI";A1);BUL("]";HÜCRE("DOSYAADI";A1))+1;255)
Kod:
=SAĞDAN(HÜCRE("DOSYAADI";A1);UZUNLUK(HÜCRE("DOSYAADI";A1))-MBUL("]";HÜCRE("DOSYAADI";A1);1))
Eğer çözüm olacaksa kullanıcı tanımlı fonksiyon yazılabilir.
 
Katılım
13 Aralık 2006
Mesajlar
575
Excel Vers. ve Dili
Office 2010
Merhabalar;
Korhan Hoca'nın dediği fonksiyon...
Kod:
Function Sayfa(RefHucre As Range) As String
    Application.Volatile
    Sayfa = RefHucre.Parent.Name
End Function
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Sizin hazırladığınız fonksiyon için diğer sayfalara başvuru yapmak gerekiyor. Bu da zaten benim ilk mesajımda verdiğim formüllerle aynı işlemi yapıyor.

Benim düşündüğüm fonksiyon aşağıdaki şekildeydi.

Kod:
Function SAYFA_ADI(İndex As Integer) As String
    On Error GoTo Son
 
    Application.Volatile True
    SAYFA_ADI = Sheets(İndex).Name
    Exit Function
 
Son: SAYFA_ADI = ""
End Function
Sayfaların index numalarına göre sonuç döndürüyor. Bu şekilde sayfaları referans kullanmanıza gerek kalmıyor.

Mesela A1 hücresine aşağıdaki şekilde uygulayıp ihtiyacınız kadar alt hücrelere sürüklediğinizde istediğiniz sonuca ulaşabilirsiniz.

Kod:
[COLOR=blue]=SAYFA_ADI([COLOR=red]SATIR()[/COLOR])[/COLOR]
Bu şekilde kullandığınızda SATIR() fonksiyonu ile her satırda farklı değer elde edeceğiniz için fonksiyon dinamik şekilde çalışacaktır.

İsterseniz aşağıdaki şekilde de kullanabilirsiniz. Bu şekilde kullanmak isterseniz formülün içindeki 1 değerini her satır için elle değiştirmeniz gerekecektir.

Kod:
[COLOR=blue]=SAYFA_ADI([COLOR=red]1[/COLOR])[/COLOR]
 
Katılım
13 Aralık 2006
Mesajlar
575
Excel Vers. ve Dili
Office 2010
Teşekkür ederim Hocam, unutmayın biri sizi hep gözetleyecek.
 
Üst