Sayfa 1 i diğer 19 sayfayı oluşturacağım bir combobox aracılığıyla görüntüleyebileceğ

Katılım
4 Nisan 2008
Mesajlar
9
Excel Vers. ve Dili
Excel 2007
Arkadaşlar İçinden çıkamadığım bir konu var bu konuda bana yardımcı olursanız çok sevinirim.Üzerinde çalıştığım Çalışma kitabım yaklaşık 15-20 sayfadan oluşacak.Sayfa 1 i diğer 19 sayfayı oluşturacağım bir combobox aracılığıyla görüntüleyebileceğim bir ana sayfa olarak kullanmak istiyorum.Belirtmek isterim ki excel üzerinde çalışmayı çok sevmeme rağmen bir combobox nasıl oluşturulur onuda bilmiyorum.Bana bu konuda yardımcı olurmusunuz.yardımcı olursanız çok sevinirim
 

Korhan Ayhan

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

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
ek dosyadaki gibi bişey işinize yarar mı acaba?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Önce; araç çubuklarından "Denetim Araç Kutusu"nu aktif edin. Buradan combobox (veya karma kutu) yazan düğmeye tıklatın. Şimdi de; Sayfa üzerinde herhangi bir yere tıklayın. Bir Combobox oluşmuş olmalı. Otomatikman da Dizayn moduna geçtiniz.

Alt+F11'e basın. Visual Basic Editore (VBE) geçeceksiniz.

Buradayken menüden; Insert->Module seçin. Module1 adında yeni boş bir sayfa açılacak. (Eğer aktifse, Sol üst taraftaki Project-VBAProject penceresinden eklenen sayfayı görebilirsiniz. Eğer aktif değilse;Menüden Wiew->Project Explorer seçin)

Şimdi önünüzdeki bu boş sayfaya, aşağıdakileri kopyalayın. Bu kodlar, tüm sayfa isimlerini az önce ilave ettiğiniz Combobox'a yükler.

Kod:
Sub Sayfalari_Listeleme_Makrosu()
    Dim sh As Worksheet
    With Sheets("Sayfa1").ComboBox1
        .Clear
        For Each sh In ThisWorkbook.Worksheets
            .AddItem sh.Name
        Next
        .ListIndex = 0
    End With
End Sub
Sub Auto_Open()
Call Sayfalari_Listeleme_Makrosu
End Sub
VBE'yi kapatın ve Excel'e dönün. Az önce ilave ettiğiniz Combobox'ın üzerine çift tıklayın. Yine VBE'ye yönleneceksiniz. Karşınıza çıkan sayfadaki tüm kodları silin ve aşağıdakileri yapıştırın.

Kod:
Private Sub ComboBox1_Change()
On Error Resume Next
Sheets(ComboBox1.Text).Select
End Sub
Private Sub Worksheet_Activate()
Call Sayfalari_Listeleme_Makrosu
End Sub
VBE'yi tekrar kapatıp Excel'e dönün. "Denetim Araç Kutusu" çubuğunun ilk düğmesinini (yani Tasarım Modundan çık) tıklatın.

Dosyanızı kaydedin ve kapatın. Şimdi tekrar açıp combobox'taki sayfa isimlerini görün. Combobox'tan bir isim seçin ve o sayfaya yönlenin.
 
Katılım
4 Nisan 2008
Mesajlar
9
Excel Vers. ve Dili
Excel 2007
Çok teşekkür ederim Ferhat Bey emeğinize bilginize sağlık. Bu yapmayı istediğim şeylerden biriydi. İzniniz ve vaktiniz olursa bir soru daha sormak istiyorum. Aslında daha anlaşılır olması için çalışma kitabımıda eklemek istiyorum ama foruma nasıl eklenecek onu bilmiyorum.Üzerinde çalıştığım excel kitabında her sayfayı bir acentanın fiyatlarını, fiyat periyotlarını vb... bilgileri içerecek tablolardan oluşturmaktayım.En son sayfayıda çalıştığımız acenteların isim listesi olarak düzenliyorum.Esas yapmak istediğim Sayfa 1 de oluşturacağım şablon bir tablonun üstüne bir combobox eklemek ve bu combobox ın son sayfadan aldığı acenta ismine göre( bu combobox ın formulü nedir, sanırım üste verdiğinizden farklı bir şey olacaktır.) sayfa birde oluşturduğum tabloda o acentanın verilerinin çıkması. Sadece bir sayfa olsa indis veya düşey ara formülüyle tabloda görüntülenme olayını çözüyorum. örneğin Comboboxta acenat ismini Sunrise seçersem sayfa 1 deki d3 hücresine gelmesi gereken tarihin Sunrise sayfasının d3 hücresindeki 01.05.2008 TUI ismini seçersem gelmesi gereken tarihin Tui sayfasındaki d3 hücresindeki 24.04.2008 olmasını istiyorum. Bunu uygylayabileceğim formül konusunda bana yardımcı olabilirmisiniz.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Foruma dosya ekleme ile ilgili olarak buraya tıklayıp, nasıl yapıldığını öğrenebilirsiniz.

Anlattıklarınızdan anladığım kadarı ile, makro kullanmadan da, formüllerle bu sorunu çözebilirsiniz.

Çoklu tablolar üzerinde formül kurmak ve veri almak istiyorsanız, DOLAYLI fonksiyonu (sanırım ingilizcesi INDIRECT idi) sizin için önemli bir ipucu olabilir.
 
Katılım
4 Nisan 2008
Mesajlar
9
Excel Vers. ve Dili
Excel 2007
Ferhat Bey son bir soru daha yukarıda vermis olduğunuz combo formüllerini excel 2003 te sorunsuz kullanıyurm ancak 2007 de sorun çıkartıyor neden olabilir acaba.İlginiz için teşekkür ederim
 
Katılım
4 Nisan 2008
Mesajlar
9
Excel Vers. ve Dili
Excel 2007
Vermiş olduğunuz kombo formülünü sayfa 1 uyguladım gayet güzel çalışıyor ancak şimdi şöyle bir problem belirdi.Örneğin sayfa 5 e gittim ama sayfa değiştirecek bir combobox yok :) vermiş olduğunuz aynı formulü diğer sayfalara uyguladığımda problm çıkıyor.O yüzden formülde içinde bulunduğum sayfayı formül dışı bırakmam gerekiyor sanırım bunu nasıl sağlayabilirim.Yardımlarınız için şimdiden çok teşekkür ederim.
 

Korhan Ayhan

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

Alternatif olarak ekteki örnek dosyayı incelermisiniz.

Dosyayı açtığınızda excel üst menü çubuğunda bulunan YARDIM menüsünün yanında *** SAYFALAR *** adıyla yeni bir menü oluşur. Bu menüden istediğiniz sayfaya kolayca ulaşabilirsiniz.
 
Üst