• DİKKAT

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

Köprü oluşturma - Köprü hedef hücresi

Katılım
27 Kasım 2012
Mesajlar
35
Excel Vers. ve Dili
office 2010
sürüm 14 küsür
Merhaba ,


Yaklaşık 50 sayfadan oluşan bir çalışma kitabım var. Bu çalışma kitabının son sayfasında , diğer 49 sayfadaki verileri izleyebiliyorum. Bu verilere detaylı bakmak istediğimde ağağıdaki sekmelerden sağ tıklayıp ismini yazıyorum ve o sayfaya gidebiliyorum.

Gelelim soruma, şimdi diğer sayfalardaki verileri gözlemlediğim son sayfada köprüler oluşturdum. Örneğin 1den 10 a kadar sayfalar olsun. Son sayfanın adı da özet olsun. Özet sayfasında 1 yazan hücreye bastığımda hemen 1 numaralı sayfaya gidiyor. Burda bir şey yok çok basit. Fakat 1 numaralı sayfada 700 satır var ve köprü otomatik olarak a1 ya da yazılı hücreyi gösteriyor.

Köprünün 1. sayfadaki yazılı son satıra götürmesi için ne yazmam gerekir ? Ya da böyle bir yol var mı ?


Diğer soru da 1. sayfadan özet sayfasına köprü. Tamam , aynısını burda da yaptım, fakat bu sefer köprüyü kurduğum yer sayfanın en üstüyse, en üste scroll yapmam gerekiyor. Bölmeleri dondurmadan , aşağıdaki sayfa sekmesinin üzerinde olacak şekilde sabit köprü kurmam mümkün mü ?

Bu iki soruyu cevaplarsanız sevinirim. Ayrıca scrolle beraber hareket eden köprü de olabilir, hatta çok güzel olur. Ama en önemli olanı , özet sayfasından herhangi bir sayfa köprüsüne tıkladığımda, o sayfanın yazılı son satırını göstermesi. Teşekkürler .
 
Köprü formülü kullandınız mı bilmiyorum, kullandıysanız eğer satır ve sütun belirttiğiniz yere gidecektir?
 
. . .

Userform içerisinde
1 adet ListBox1 ve 1 adet CommandButton1 ekleyiniz.

Userform kod bölüme:
Kod:
Private Sub CommandButton1_Click()
    If ListBox1.ListIndex <> -1 Then
        Sheets(ListBox1.Column(0)).Select
    End If
    Range("A" & [A65536].End(3).Row).Select
    Unload Me
End Sub

Private Sub UserForm_Initialize()
    CommandButton1.Caption = "Sayfaya Git"
    ListBox1.Clear
    For i = 1 To Sheets.Count
        ListBox1.AddItem Sheets(i).Name
    Next i
End Sub

Boş bir modül ekleyin. İçerisine şu kodları yapıştırın.
Kod:
Sub auto_open()
    Application.OnKey "{F8}", "ac"
End Sub

Sub ac()
UserForm1.Show
End Sub

Tablonuzu kaydedip, kapatın. Yeniden açtığınızda herhangi bir sayfayken F8 tuşuna basarak sayfalar arasında geçiş yapabilirsiniz.

. . .
 
Hüseyin Üstadım teşekkür ederim. Fakat istediğim o şekilde değil. Aşağıdaki dosyada örnek bir açıklama yaptım. İncelerseniz sevinirim.
http://s3.dosya.tc/server20/0wAIww/ornek.xlsx.html
. . .

1.kısım için
İcmal sayfası için kodlar.
Mevcut köprüleri iptal ederek deneyiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C9:C17]) Is Nothing Then Exit Sub
    syf = Selection.Value
    Sheets(syf).Select
    sonhucre = Sheets(syf).Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Address
    Sheets(syf).Range(sonhucre).Select
End Sub

2.kısım için
daha önceki örnek gibi F8 veya başka bir tuş kombinasyonu ile özet sayfasına dönseniz olur mu ?

. . .
 
. . .

1.kısım için
İcmal sayfası için kodlar.
Mevcut köprüleri iptal ederek deneyiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C9:C17]) Is Nothing Then Exit Sub
    syf = Selection.Value
    Sheets(syf).Select
    sonhucre = Sheets(syf).Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Address
    Sheets(syf).Range(sonhucre).Select
End Sub

2.kısım için
daha önceki örnek gibi F8 veya başka bir tuş kombinasyonu ile özet sayfasına dönseniz olur mu ?

. . .

Aa olur hocam çok da güzel olur, f8 e basar basmaz o sayfaya gidecek. Nasıl aklıma gelmemiş, çok çok güzel olur. Geç yazdığım için kusura bakmayın.
 
. . .

Kod:
Sub auto_open()
    Application.OnKey "{F8}", "sec"
End Sub

Sub sec()
Sheets("[COLOR="Red"]Sayfa3[/COLOR]").Select
End Sub

. . .
 
. . .

Kod:
Sub auto_open()
    Application.OnKey "{F8}", "sec"
End Sub

Sub sec()
Sheets("[COLOR="Red"]Sayfa3[/COLOR]").Select
End Sub

. . .

Hocam ,

1.Kısım için konuşursam süper elinize sağlık. Yalnız bu son hücreye gitme olayını , a sütununda yazılı olan son hücreye göre ayarlayabilir miyiz ? O zaman süper oluyor ama diğer türlü olmuyor. Ben ayarlayamadım.

2.Kısım için ise f8 denedim olmuyor. Çalışmıyor , neyi kaçırıyor olabilirim ?
 
Hocam ,
1.Kısım için konuşursam süper elinize sağlık. Yalnız bu son hücreye gitme olayını , a sütununda yazılı olan son hücreye göre ayarlayabilir miyiz ? O zaman süper oluyor ama diğer türlü olmuyor. Ben ayarlayamadım.

sonhucre = Sheets(syf).[A65536].End(3).Address


2.Kısım için ise f8 denedim olmuyor. Çalışmıyor , neyi kaçırıyor olabilirim ?

Auto_open kodlarının aktif olması için. Dosyanızı kaydedip kapatın, yeniden açtığınızda aktif olacaktır.
Seç kodları içerisindeki gitmek istediğiniz sayfa tablonuzda mevcut olmalı.

. . .
 
sonhucre = Sheets(syf).[A65536].End(3).Address




Auto_open kodlarının aktif olması için. Dosyanızı kaydedip kapatın, yeniden açtığınızda aktif olacaktır.
Seç kodları içerisindeki gitmek istediğiniz sayfa tablonuzda mevcut olmalı.

. . .

Hocam çalıştı, çok güzel oldu elinize sağlık. Son bir sorum var, acaba sayfa seçimi için yaptığım kodu , aynı sayfada farklı hücreler için uygulayabilir miyim ? Deniyorum ama hata veriyor. Mesela şu şekilde :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [C9:C17]) Is Nothing Then Exit Sub
syf = Selection.Value
Sheets(syf).Select
sonhucre = Sheets(syf).Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Address
Sheets(syf).Range(sonhucre).Select
End Sub

yukarıdaki kod çalışırken aynı zamanda da şu kod çalışabilir mi ?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [A3:A72]) Is Nothing Then Exit Sub
syf = Selection.Value
Sheets(syf).Select
sonhucre = Sheets(syf).Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Address
Sheets(syf).Range(sonhucre).Select
End Sub

ambiguous name detected worksheet_change hatası alıyorum bunları alt alta uyguladığımda.
 
Hocam bir de birden fazla alan için bu formülü uygulayabilir miyim ? Aynı sayfada yukarıdaki gibi 2 değil de 3 kod yazacağım , alanları birleştireceğim. Mümkün mü bu ?
 
F9 a için yapmaya çalıştım aynısını yine ambiguous name detected hatası alıyorum . Çözemedim .
 
bu konu ile ilgili yardımınızı beklemekteyim.
 
Geri
Üst