köprüyü hücre içeriğine bağlamak

Katılım
10 Kasım 2006
Mesajlar
35
Excel Vers. ve Dili
2007 Türkçe
Diyelimki A5 hücresine "KALEM" yazdım. A1 hücresine tıkladığım zaman KALEM geçen hücreye gitmek istiyorum. A1 hücresine köprü ekledim (Sayfa1!A5). A1 tıkladığımda direk "KALEM" yazan A5'e ulaştım. Eğer ben A1-A5 arasına bir sutun eklersem A1 tıkladığımda A5 gidiyorum fakat "KALEM" yazan hücreye gidemiyorum. Köprüyü nasıl oluşturmalıyım ki herzaman içeriği "KALEM" olan hücreye ulaşayım?

...A
1 GİT
2
3
4
5 KALEM
6

satır ekledikten sonra
...A
1 GİT
2
3
4
5
6 KALEM
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Kodlar Haluk Bey'e aittir.

Sayfanızın sekmesini sağ tuş ile tıklayıp aşağıdaki kodları ekleyin

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Call Kelimebul
End Sub

Alt+F11 ile VBA düzenleyiciyi açıp Insert'den bir modüle ekleyip içine aşağıdaki kodları ekleyin

Kod:
Sub Kelimebul()
    Dim MyStr As String, InfoMsg As String
    Dim Rng1 As String, LookupValue As String
    Dim MyQ As VbMsgBoxResult
    Dim FoundRng As Variant
    MyStr = Trim(Application.InputBox("Aranacak kelime yada sayıyı giriniz", "Arama..."))
        If Not MyStr = "False" Then
            Set FoundRng = Cells.Find(MyStr, LookIn:=xlValues, LookAt:=xlPart)
            If Not FoundRng Is Nothing Then
                Rng1 = FoundRng.Address
                FoundRng.Select
ResumeSub2:
                If Right(FoundRng.Value, 1) <> " " Then LookupValue = FoundRng.Value & " "
                MyData = Split(LookupValue, " ", , vbTextCompare)
                    For i = LBound(MyData) To UBound(MyData)
                        If MyData(i) = MyStr Then
                            InfoMsg = "Aranacak kelime yada sayıyı " & FoundRng.Address(False, False) _
                            & " hücresinde ." _
                            & vbCrLf & vbCrLf & "Hücre içeriği :" _
                            & vbCrLf & vbCrLf & FoundRng.Value & vbCrLf _
                            & vbCrLf & "Devam edecekmisiniz ?"
                              MyQ = MsgBox(InfoMsg, vbInformation + vbYesNo, "Arama sonucu..")
                            If MyQ = vbYes Then GoTo ResumeSub1:
                            Exit Sub
                        End If
                    Next
            Else
            MsgBox "", vbInformation, "Arama sonucu..."
            Exit Sub
        End If
ResumeSub1:
    Set FoundRng = Cells.FindNext(FoundRng)
        If Rng1 = FoundRng.Address Then
            MsgBox "Başka bir veri yok !", vbInformation, "Araştırma sonucu"
            Exit Sub
        End If
    FoundRng.Select
    GoTo ResumeSub2:
    End If
    Set FoundRng = Nothing
End Sub

A1 hücrenize çift tıkladığınızda hangi kelime yada sayılara gitmek istediğinize dair menü gelecektir.Kelimeyi yazıp o hücrelere gidebilirsiniz.
 
Katılım
10 Kasım 2006
Mesajlar
35
Excel Vers. ve Dili
2007 Türkçe
köprü

Cevap için teşekkürler. Makro oluşturmadan yapılamıyor sanırım. Bende sizin verdiğinize benzer bir mantıkla program yazdım. Programı ekte veriyorum. Burada Yaklaşık 25 tane başlık halinde HAT isimleri mevcut. Bunların altına yeni makinalar ekleniyor. Bu makinaların arızalarınıda sürekli giriş yapılıyor. Bu şekilde yeni ekleme yapığımız zamanda başlıklar ister istemez aşağı doğru kayıyor. Bende Sayfa1'de genel Hat listesine link oluşuturdum. İstediğim hatta direk buraya tıklayarak ulaşabiliyorum.
Bunun yanında Hatta yeni bir giriş yaparken veya gezerken hangi hatta dolaştığınızı otomatikman Üst kısımda C2 hücresinde yazıyor.

Bu programda tek problemim. Yaptığım işlemleri geri (Undo) alamıyorum. Bunun üstesinden nasıl gelebilirim?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Yaptığım işlemleri geri (Undo) alamıyorum. Bunun üstesinden nasıl gelebilirim?
Daha önceki forumda sanırım Levent Bey eklemişti. Makro ile gerialma örneği ektedir.
 
Üst