Açılır Kutudan Başka Sayfaya Yönlendirme ?

Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
Arkadaşlar,
Yapmak istediğim fakat bir türlü yapamadığım şey (forumda aramama rağmen), dosyada da yazılmıştır. Fakat bilgi vermesi açısından; açılır kutuda seçilen bir bölüm doğrultusunda ilgili sayfa gitmek.

Umarım yardımcı olabilirsiniz.

İyi çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekli dosyayı inceleyin.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
Öncelikle ilginizden ötürü teşekkür ederim.

İstediğim tam anlamıyla olmasa bile buydu. Tam anlamıyla olmasa bile diyorum çünkü "1 isimli sayafaya gidiniz" bölüm sayfa adına göre yazılıyor. Bu 1 yazısını (sayfa adını) bir hücreye göre yapabilir miyiz?

Örneğin; a1 hücresindeki formülle getirilmiş "deneme" yazısını kutu içinde "deneme isimli sayfaya gidiniz" şeklinde olması mümkün müdür?
 
Katılım
5 Nisan 2007
Mesajlar
89
Excel Vers. ve Dili
2007
Ekteki dosyayı dediğiniz gibi düzenledim, data sayfasındaki a sütunundan bilgileri alıyor fakat bu şekilde kullanımda dikkatli olunmalı, zira sayfa numaraları ve isimleri arasında karışıklık çıkma ihtimali çok yüksek..
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
Sayın ceyrek,
Öyle sanıyorum ki problemi eksik anlattığımdan bazı yanlış anlaşılmalara mahal verdim. Bu nedenle siz ve ilgilenen arkadaşlardan özür dilerim.

Sizin ve levent arkadaşımızın yaptıkları doğrudur fakat tam olarak istediğimi açıklayacak olursam.

Yaklaşık 30 farklı sayfadan oluşan dosyada, her sayfanın (örneğin) A1 hücresinde bir isim yer almaktadır. Bu isimler kesinlikle sayfa isimleriyle aynı olmamakla beraber, değişme ihtimalleride vardır.
Buna göre kutuda her sayfanın A1 hücresinde yer alan isim gözükecek, hangi isime basılır ise ilgili isimin sayfasına yönlendirme yapılacaktır.

Şimdi daha açıklayıcı bir durum oldu sanırım. İlgilenecek ve ilgilenen arkadaşlara şimdiden teşekkür ediyorum.

Saygılarımla...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekli dosyayı inceleyin.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
Sayın leventm,
Göstermiş olduğunuz sabır ve yardımlarınızdan ötürü yeniden teşekkür ediyorum. İstediğim tam olarak yapmış olduğunuz gibidir.
Saygılarımla...
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
leventm hocam,
verdiğiniz dosyayı inceledim ve dosyama iliştirdim fakat 1 sayfa haricinde başka sayfada çalıştıramadım. yani diğer sayfalara eklediğimde aynı işlemi yaptıramadım. bu hususta yapılması gerekeni söylerseniz sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyada thisworkbook kod sayfası ile comboboxun bulunduğu sayfanın kod sayfasında kodlar mevcuttur, her ikisinide kopyaladığınızdan emin olun.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
leventm hocam,
verdiğiniz kodları yerleştirip gerekli değişimleri de yaparak uyarladım. Lakin tek bir sayfada işlem görürken, aynı comboboxu diğer sayfalara kopyaladığımda (ilgili kodlarda ilgili sayfalara kopyalanmıştır) sadece ilk sayfadaki combobox işlem görmektedir.

Gerekli açıklamayı dosya içinde de bulacaksınızdır.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda excel menülerine sayfa adlarını listeleyip buradan seçilen sayfaya gitmesini sağlayan bir menü eklenmesi daha mantıklı ve pratik bir çözüm gibi geldi bana.

Ekli dosyayı inceleyin. Dosya açıldığında sayfa listesi üstte "Yardım" menüsünün yanında "SAYFAYA GİT" menüsü olarak belirecektir.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
sayın leventm,

mevcut bir menü kullanıyordum zaten. Lakin bu verdiğiniz kodları bu menüye enjekte edip uyarlayamadım :(

Bunun yanında; elimizde 3 dosyanın olduğunu düşünürsek (A,B,C), Ana dosyadan (A) B veya C yi açtıp işlem gördükten sonra kapattığımızda o dosyanın menüsü de eklenti olarak menü çubuğunda kalıyor. Her dosya açışta ise yeni bir tane ekleniyor. Bunun yerine; dosya her ne şekilde kapanırsa kapansın (makro, X, dosya/çıkış vs.) o dosyaya ait menünün kaldırılması mümkün müdür? (Biliyorum karışık anlattım yine ama affedin :( )


Ana dosyada kullandığım menü:

Kod:
Sub Auto_Open()
Dim AnaMenü As CommandBarControl, AnaAltMenü As CommandBarControl
Sheets("ana").Select
Range("a1").Select
Set AnaMenü = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With AnaMenü
.Caption = "&Öğrenci Takip"
.Tag = "MyTag"
.BeginGroup = False
End With
If AnaMenü Is Nothing Then Exit Sub
'Bilgi Değişikliği
Set AnaAltMenü = AnaMenü.Controls.Add(msoControlPopup, 1, , , True)
With AnaAltMenü
.Caption = "Bilgi Oluşumları"
End With
With AnaAltMenü.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Okul, İdare, Öğretmen Bilgileri"
.OnAction = "bilgiolus"
.Style = msoButtonIconAndCaption
.FaceId = 3734
.State = msoButtonUp
End With

'Sınıflar
Set AnaAltMenü = AnaMenü.Controls.Add(msoControlPopup, 1, , , True)
With AnaAltMenü
.Caption = "Sınıflar"
End With
With AnaAltMenü.Controls.Add(msoControlButton, 1, , , True)
.Caption = [veri!c2]
.OnAction = "sin1"       [COLOR="Red"]'Yönlendirildiği sayfada, bazı veri girişi yaparak başka bir dosya açma zorunluluğu var.[/COLOR]
.Style = msoButtonIconAndCaption
.FaceId = 3734
.State = msoButtonUp
End With

'Raporlar
Set AnaAltMenü = AnaMenü.Controls.Add(msoControlPopup, 1, , , True)
With AnaAltMenü
.Caption = "Raporlar"
End With
With AnaAltMenü.Controls.Add(msoControlButton, 1, , , True)
.Caption = [veri!c2]
.OnAction = "rapor1"
.Style = msoButtonIconAndCaption
.FaceId = 3734
.State = msoButtonUp
End With

With AnaMenü.Controls.Add(msoControlButton, 1, , , True)
.Caption = "BILGI"
.OnAction = "bilgi"
.Style = msoButtonIconAndCaption
.FaceId = 3730
.State = msoButtonUp
End With

On Error Resume Next
End Sub
Diğer Dosyalarda Kullandığım (Yukarıdaki koda uyarlayamadığım için) kodlar:

Kod:
Dim sayfa As CommandBarControl
Dim altmenu As CommandBarControl
Private Sub auto_Open()
Set sayfa = Application.CommandBars(1).Controls.Add(msoControlPopup, 1, , , True)
sayfa.Caption = "ÖĞRENCİLER"
For a = 1 To Sheets.Count
Set altmenu = sayfa.Controls.Add(msoControlButton, , , , True)
altmenu.Style = msoButtonIconAndCaption
altmenu.Caption = Sheets(a).[b2]
altmenu.OnAction = "sayfayagit"
altmenu.BeginGroup = True
Next
Call degis
Sheets("odevlistesi").Select
End Sub
Private Sub auto_close()
Application.CommandBars("Worksheet menu Bar").Controls("ÖĞRENCİLER").Delete
End Sub
Private Sub sayfayagit()
Sheets(CommandBars.ActionControl.Index).Activate
End Sub
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
leventm hocam,
bahsettiğim işlemleri biraz farklı da olsa hallettim sayenizde. Yalnız hazırladığım menüyü .xla yapıp her dosyada görünmesini, gerektiğinde menüden direkt olarak işlem istenilen sayfanın gelmesini istiyorum.

Bunu yaptığımda macrolarda problem yaşıyorum çünkü yolu bulamıyor. Yani c:\veli\ahmet.xls dosyasındaki "ali" makrosu, menü makrosunda "ali" diye yazıldığı için bulunamıyor. menü makrosunda tam adresi göstermek için gerekli şey nedir bulamadım. lütfen yardımcı olur musunuz?
 
Üst