Sayfalar arası geçiş yapmak

Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
elimdeki excel dosyasında birden fazla(40 adet sayfa var)sayfalarda değişik veriler mevcut.kullanım esnasında sayfalar arasında sık sık geçiş yapmam gerekiyor.Bir ana sayfa oluşturup, bu ana sayfadan sayfa1,sayfa2,sayfa3.......sayfa40 sayfalara hızlıca nasıl geçiş yapabilirim.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,501
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Ufak bir userform açarak çift tıklayın ve şu kodları yapıştırın

Private Sub UserForm_Initialize()
Dim syf As Worksheet
For Each syf In Worksheets
ComboBox1.AddItem syf.Name
Next
ComboBox1.ListIndex = 0
End Sub
Private Sub ComboBox1_Click()
Sheets(ComboBox1.Value).Select
ThisWorkbook.Save
End Sub
Ayrıca bir modül içine de
Sub Auto_open()
Userform1.show
end Sub
yazın. Ayrıca userform'un showmodal özelliğini false yapın

Bu kodlarla , dosya açılırken userform kendiliğinden gelecek , liste kutusu kendiliğinden dolacak ve seçerek istediğiniz sayfaya ulaşabileceksiniz ya da geri dönebileceksiniz.
Userformu da tepede sağda solda bir yere iteklerseniz , altında excelde çalışmaya da modal false olduğundan izin verecektir.

http://s9.dosya.tc/server2/b8rizf/sayfagez.rar.html

Thisworkbook.save satırı ile , her sayfa geçişinde veri kaydedileceğinden olası dosya kapanmasında veri kaybı riski de yaşamazsınız.

Kodlar Orion1 e aittir
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Köprü özelliğini kullanarak sayfalarınıza bağlantı oluşturabilirsiniz.

Diğer bir yöntemde makro ile ilgili sayfaları açtırabilirsiniz.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Alternatif:
Dosyadaki mevcut sayfalara köprü için Sayfanın kod bölümüne;

Sub sayfaları_yaz_ve_köprü_kur()
Application.ScreenUpdating = False
On Error Resume Next
Sheets("ANA").Range("a2:a65536").ClearContents
Set anasayfa = Sheets("ANA")
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets(i).Name <> "ANA" Then
anasayfa.Cells(i, 1).Value = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & i), Address:="", SubAddress:= _
"'" & Sheets("ANA").Range("A" & i).Value & "'!A1"
End If
Next i
End Sub

Kodlarını yerleştirin ve çalıştırın.
İyi çalışmalar.
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
cevaplar için teşekkür ederim.basitce köprü özelliğini kullanarak yaptım.
muygun hocam sizin verdiğiniz kodu çalıştıramadım.Örnek bir dosya verebilirmisiniz?
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
hocam çok teşekkür ediyorum örnek dosya için.İyi çalışmalar.
 
Katılım
9 Haziran 2015
Mesajlar
13
Excel Vers. ve Dili
excel 2013_2016
Altın Üyelik Bitiş Tarihi
09/05/2022
Çok güzel bir çalışma. Hazırlayana ve paylaşana teşekkür ederim
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Alternatif Olsun

Eğer Sayfa adları düzenli ise, yani Sayfa1, Sayfa2.... SayfaN gibi ise

Aşağıdaki kodları ThisWorkbook'un sayfasına kopyalayın.

Herhangi bir sayfada herhangi bir hücreye çift tıkladığınızda sizden sayfa numarası isteyecektir. Örneğin 5 gibi.

Kod sizi Sayfa5 e yönlendirecektir.

Not : Kodda ufak değişiklik yaparak doğrudan ilgili sayfanın adını vererek te yapılabilir.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    Dim i As Integer
   
    i = Application.InputBox("Sayfa Numarasını Giriniz", "Sayfa Seçimi", Type:=1)
   
    If i = 0 Or i > Sheets.Count Then Exit Sub
   
    Sheets("Sayfa" & i).Select
   
End Sub
 
Üst