• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfa isimlerini listelemek

  • Konbuyu başlatan Konbuyu başlatan gkhnkrgc
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Mayıs 2015
Mesajlar
31
Excel Vers. ve Dili
2010
bir excel kitabım var ve 600-700 tane sayfa (sekme) var tek tek yazmak zaman alacağından listelemek istiyorum yardımcı olabilir misiniz forumdaki makrolara baktım ama yapıştırıyorum olmuyor ne yapmm gerekıyor
 
Merhaba,

Sayfa isimleri nasıl isimlendirilmiş, belli bir sistematiği var mı?
Makro ile yapılabilir ama formül ile denemek istedim.
 
Daha önce forumdan almıştım.

Aktif sayfaya liste oluşturur ve köprü ekler.

" 'Sheets(1).Select " buradan ' işaretini kaldırarak istediğiniz sayfaya yazmasınıda sağlayabilirsiniz.

Kod:
Sub index()

Application.ScreenUpdating = False
'Sheets(1).Select
Range("B2:B65000").ClearContents
For i = 1 To Sheets.Count
Sheets(1).Cells(i + 2, 2).Value = Sheets(i).Name
Next i
For i = 2 To Sheets.Count
Cells(i + 2, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Sheets(i).Name &
Selection.Font.Underline = xlUnderlineStyleNone
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Next i
Application.ScreenUpdating = True
End Sub
 
Alternatif;

SayfaIndex adında sayfayı yeniden oluşturup, tüm sayfaların sayfa adlarını bu sayfada her bir kolonda 25 sayfa olacak şekilde köprü yapar.
Aynı zamanda her bir sayfanın A1 hücresine SayfaIndex sayfasına köprü yapar.
Tüm sayfaların A1 hücreleri boş olmak zorundadır.

Kod:
Sub SayfaIndex()
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  If WorksheetExists("SayfaIndex") Then Sheets("SayfaIndex").Delete
  Set NewSh = Sheets.Add(Before:=Sheets(1))
  NewSh.Name = "SayfaIndex"

  Cells.ClearContents
  kolon = 1
  satir = 2
  Cells(1, 1).Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="SayfaIndex!A1", TextToDisplay:="SayfaIndex"
  
  For i = 2 To Sheets.Count
    Cells(satir, kolon).Value = Sheets(i).Name
    Sheets(i).Hyperlinks.Add Anchor:=Sheets(i).Cells(1, 1), Address:="", SubAddress:="SayfaIndex!A1", TextToDisplay:="SayfaIndex"
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(satir, kolon), Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name
    satir = satir + 1
    If satir = 26 Then
       kolon = kolon + 1
       satir = 2
    End If
  Next i
  
  Cells.Select
  Cells.EntireColumn.AutoFit
  Range("E1").Select
  
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
End Sub

Public Function WorksheetExists(ByVal WorksheetName As String) As Boolean
   On Error Resume Next
   WorksheetExists = (Sheets(WorksheetName).Name <> "")
   On Error GoTo 0
End Function
 
.

Alternatif:

Sadece sayfa adlarını listelemek isteniliyorsa aşağıda kodları verilen Kullanıcı Tanımlı Fonksiyonu kullanabilirsiniz.

Aşağıdaki kodları bir Module'ye kopyalayın.

Kod:
Function syf(syfno As Integer) As String

Application.Volatile
If syfno <= Worksheets.Count Then
 syf = Worksheets(syfno).Name
Else
 syf = ""

End If

End Function

Bir hücreye:

Kod:
=syf(ROW(A1))

Türkçe için:

Kod:
=syf(SATIR(A1))

yazıp, istediğiniz kadar aşağıya doğru kopyalayın.

Eğer yana doğru listelemek isterseniz o zaman ROW(A1) - SATIR(A1) yerine COLUMN(A1) - SÜTUN(A1) yazmanız gerekecek.



.
 
Merhaba,
Sayfa isimleri nasıl isimlendirilmiş, belli bir sistematiği var mı?
Makro ile yapılabilir ama formül ile denemek istedim.

Merhaba sizin dediğiniz gibi formülle çözülebilir mi?
Firma isimlerinin baş harfini kullanarak sayfalar oluşturuyorum
örnek X firamasının baş harfini kulanarak X01 - X02 - X03 - X04 - X05 gibi devam eden sayfalar var bu sayfaların isimleri "LİSTE" sayfasında topluca görmek istiyorum bu konuda yardımcı olabilirmisiniz
 
Geri
Üst