ilk ve son sayfaların ismini almak

Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
"ahmet, mehmet, hasan...... ali" diye sayfa isimleri olan bir dosya olsun. istediğim; bir sayfaya ilk ve son sayfaların isimlerini belirli bir hücreye nasıl getirebilirim? hatta baştan 2. sayfa veya sondan 3. sayfanın adını getirebilir miyim? Teşekkürler.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sorudaki gibi alacağınız sayfalar değişken olacaksa tüm sayfa adlarını sırayla yazdırın sonra istediğinizi içinden alın.

Kod:
Sub SayfaAdi()
Set S1 = Sheets("Sayfa1")
S1.Range("A:A").ClearContents
On Error Resume Next
    For i = 1 To Worksheets.Count
        sat = sat + 1
        S1.Range("A" & sat) = Worksheets(i).Name
    Next i
End Sub
Sayfa1 A sütununa sayfa adlarını yazar.

.
 

Korhan Ayhan

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

Alternatif olarak aşağıdaki kullanıcı tanımlı fonksiyonuda kullanabilirsiniz.

Hücrede kullanım şekli;
Kod:
[B][COLOR=blue]=SAYFA_ADI(1)[/COLOR][/B]

Kod:
Option Explicit
 
Function SAYFA_ADI(SAYFA_INDEX As Integer) As String
    Dim SAYFA As Worksheet
 
    Application.Volatile True
 
    If Worksheets.Count < SAYFA_INDEX Then
        SAYFA_ADI = "Sayfa Adı Bulunamadı !"
        Exit Function
    End If
 
    For Each SAYFA In Worksheets
        If SAYFA.INDEX = SAYFA_INDEX Then
            SAYFA_ADI = SAYFA.Name
            Exit For
        End If
    Next
End Function

Ayrıca direkt olarak ilk sayfa adını bulmak için aşağıdaki fonksiyonu kullanabilirsiniz.

Hücrede kullanım şekli;
Kod:
[B][COLOR=blue]=İLK_SAYFA_ADI()[/COLOR][/B]

Kod:
Option Explicit
 
Function İLK_SAYFA_ADI() As String
    Application.Volatile True
    İLK_SAYFA_ADI = Worksheets(1).Name
End Function

Yine direkt olarak son sayfa adını bulmak için aşağıdaki fonksiyonu kullanabilirsiniz.

Hücrede kullanım şekli;
Kod:
[B][COLOR=blue]=SON_SAYFA_ADI()[/COLOR][/B]

Kod:
Option Explicit
 
Function SON_SAYFA_ADI() As String
    Application.Volatile True
    SON_SAYFA_ADI = Worksheets(Worksheets.Count).Name
End Function
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
teşekkürler fakat ben bu alacağım sayfa isimleri ile bir formül oluşturmak istiyorum. mesela tüm sayfalardaki a1 hücresini toplamak istiyorum bunun için de =topla('ahmet:mehmet'!a1) gibi bir formül kullanıyorum. fakat sürekli yeni sayfalar eklendiği ve sayfa isimleri değiştiği için formülü de değiştirmek gerekiyor. eğer ilk ve son sayfaların isimleri alabilirsem sürekli formülü değiştirmeme gerek kalmayacak.
 

Korhan Ayhan

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

Üstteki mesajıma iki adet kullanıcı tanımlı fonksiyon daha ekledim. Dilediğinizi kullanabilirsiniz.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
teşekkürler fonksiyonları dosyaya ekledim çalışıyor fakat bunu istediğimi yapmak için formüle dökemedim.

örnek dosya ekte. yapma istediğim "son" sayfası en sonda sabit kalmak şartıyla diğer sayfa adları değişse de, yeni sayfa eklense de, çıkarılsa da tüm sayfalardaki A1 hücrelerini toplayacak bir formül yazılabilir mi?
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
Sn altanson aşağıdaki kullanıcı tanımlı fonksiyonu kullanınız.
Function HEP_TOPLA()
Application.Volatile True

For i = 1 To Worksheets.Count - 1
A = A + Worksheets(i).Range("a1")
Next
HEP_TOPLA = A
End Function
 
Son düzenleme:

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
teşekkürler fakat ben bu alacağım sayfa isimleri ile bir formül oluşturmak istiyorum. mesela tüm sayfalardaki a1 hücresini toplamak istiyorum bunun için de =topla('ahmet:mehmet'!a1) gibi bir formül kullanıyorum. fakat sürekli yeni sayfalar eklendiği ve sayfa isimleri değiştiği için formülü de değiştirmek gerekiyor. eğer ilk ve son sayfaların isimleri alabilirsem sürekli formülü değiştirmeme gerek kalmayacak.
Amacınız sırf bunu yapmaksa, linkte yer alan dosyayı inceleyin.

3B - 3D formülleri


.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn altanson
Benim 3B-3D fonksiyonlar konusunda bilgim yoktu. Sn yurttas'ın çalışmasını inceledikten sonra sizin dosyanızda toplamını alacağınız sayfaların başına ve sonuna boş bir sayfa eklerseniz, yukarda sizinde kullandığınız 3B formülü bu sayfaları kapsayacak şekilde düzenlerseniz toplamı etkilemeyeceğinden işinizi görür KTF kullanmanıza gerek kalmaz diye düşünüyorum.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Sn omerceri,

sayda isimleri sürekli değişeceği ve yeni sayfalar ekleneceği için sizin gönderdiğiniz KTF daha çok işimi görecek gibi. Yardım eden herkese teşekkürler.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sn omerceri,

sayda isimleri sürekli değişeceği ve yeni sayfalar ekleneceği için sizin gönderdiğiniz KTF daha çok işimi görecek gibi. Yardım eden herkese teşekkürler.

Söylediğiniz şeyleri verdiğim linkte engelleyen bir duruma rastlamadım.

O zaman linkteki dosyayı bir kez daha incelemenizi öneriririm.

.
 
Üst