Excel İçindekiler Bölümü

Excel'de İçindekiler Bölümü Oluşturmak

Excel'de büyük dosyalarla yani içerisinde çok fazla sayıda çalışma sayfasından oluşan dosyalarla çalıştığımızda sayfalar arasında gezinmek cidden zor olmaktadır. Böyle durumlarda çalışma kitabımızın birinci sayfasına İÇİNDEKİLER gibi bir sayfanın eklenmesi faydalı olacaktır. Bu derste bu işlemin nasıl çok kısa sürede yapılacağı anlatılmaktadır.

Ders Videosu

Excel ile İçindekiler Menüsü

EXCEL VBA İLE İÇİNDEKİLER BÖLÜMÜ OLUŞTURMAK...

Aşağıdaki fotodan da görüleceği üzere çalışma kitabımızda 10'dan fazla çalışma sayfası var. Bunların tek tek isimlerini kopyalayarak herhangi bir çalışma sayfasına kaydetmek ve her bir hücre için köprü oluşturmak (Örn: 'Sayfa1'!A1' ) ciddi anlamda zaman israfı olmaktadır. Aşağıdaki kodu kullanarak bu işi tam otomatik bir şekilde yerine getirebilirsiniz.

Kod satırlarının yanına açıklamaları da yazdım. Umarım faydalı olur. İyi çalışmalar...

  Sub deneme()

Dim i As Integer
'İçerisinde tamsayı tutan bir değişken tanımlıyoruz
Dim tempAdress As String
Dim tempworksheet As String
'İçerisinde metin tutan iki tane değişken tanımlıyoruz

ThisWorkbook.Worksheets.Add Before:=Worksheets(1)
'Çalışma sayfamıza 1 sırada olmak üzere yeni bir sayfa ekliyoruz.
ThisWorkbook.Worksheets(1).Name = "İÇİNDEKİLER"
'Bu yeni eklenen sayfamıza "İÇİNDEKİLER" ismin atıyoruz. Burayı değiştirerek başka bir isimde atayabilirsiniz.
'BURASI ÇOK ÖNEMLİ: Eğer çalışma kitabınızda İçindekiler isimli bir çalışma sayfası mevcut ise hata alırsınız....

For i = 2 To Worksheets.Count 'For döngüsü 2. sıradan dönmeye başlıyor.
'Çünkü birinci sırada içindekiler sayfamız var ve biz bunu listede görmek istemiyoruz.
tempAdress = "#'" & Worksheets(i).Name & "'!A1"
'Her bir döngüde sayfa ismini alıp yanına A1 hücresi ile birleştirip adres oluşturacak geçici değişken
tempworksheet = Worksheets(i).Name
'Her bir döngüde çalışma sayfasının adının tempworksheet nesnesine atıyoruz.
    With Worksheets(1)
     .Hyperlinks.Add Anchor:=.Cells(i, 2), _
     Address:=tempAdress, _
     TextToDisplay:=tempworksheet
    End With
'With End With bloğu içerine bu değişkenlerimizi atayarak linkleri oluşturuyoruz.
'Anchor ile linkleri istediğimiz hücreye yazıyoruz
'Address ile linkleri getiriyoruz.
'TextToDisplay ile hücrede yazılmasını istediğimiz metni getiriyoruz.
Next i

End Sub
  

7 yorum:

  1. Teşekkürler çok faydalı oldu....

    YanıtlaSil
  2. Eğer çalışma sayfanızda "İÇİNDEKİLER" adıyla herhangi bir sayfa mevcut ise hata alırsınız. Hata ile karşılaşmamak için ya "İÇİNDEKİLER" sayfasını sileceksiniz yada farklı bir isim tanımlamanız gerekmektedir.

    YanıtlaSil
  3. Peki seçtiğimiz sayfadan içindekiler bölümüne nasıl dönüş yapabiliriz

    YanıtlaSil
    Yanıtlar
    1. İstediğiniz sayfanın herhangi bir hücresinde sağ tuşa basıp açılan menuden "Köprü"yü seçin. daha sonra "Bu belgeye yerleştir" bölümünü seçmeniz yeterlidir.

      Sil
  4. Bu bilgi işime çok yaradı teşekkür ederim ama yeni sayfa eklediğimde otomatik indexe eklenmesi için ne yapmamız gerekiyor.

    YanıtlaSil
    Yanıtlar
    1. Aslında bunu bende düşündüm ama biraz zor sanki. Kodlamada listener dediğimiz bir kavramı düşünmek lazım. Yani makro kodlarda yeni bir sayfa eklenme olayını takip ederek, sayfa eklendiğinde bu metodu çağırmanız lazım.

      Sil









Formül Nasıl Yazılır?

# İŞLEM
1 Çalışma sayfasında formülü girmek istediğiniz hücreyi seçin. (Örnek: A1)
2 = yada + tuşlarından birine basın.
3 Ardından sonucunu görmek istediğiniz formülü yazıp Enter tuşuna basın.


Formül Nasıl Yazılır (Hücre Aralığına)?

# İŞLEM
1 Çalışma sayfasında formülü girmek istediğiniz alanı seçin(Örn:A1:A5) .
2 = yada + tuşlarından birine basın.
3 Ardından sonucunu görmek istediğiniz formülü yazıp Ctrl + Shift + Enter tuş kombinasyonuna beraber basın.