• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfalar arası geçiş yapmak

  • Konbuyu başlatan Konbuyu başlatan power
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
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.
 
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:
Köprü özelliğini kullanarak sayfalarınıza bağlantı oluşturabilirsiniz.

Diğer bir yöntemde makro ile ilgili sayfaları açtırabilirsiniz.
 
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.
 
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?
 
hocam çok teşekkür ediyorum örnek dosya için.İyi çalışmalar.
 
Çok güzel bir çalışma. Hazırlayana ve paylaşana teşekkür ederim
 
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
 
Geri
Üst