Çift tıklamayla Tablo adına köprü oluşturma veya gitme

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Ana Sayfada A stünunda hücre içinde yazan adlara sahip tablolarım başka sayfalarda, sayfa isimleri farklı olabilir.
ben bu adlara çift tıklamayla tabloların bulunduğu sayfayı yani tabloyu görmeyi/aktif hale getirmeyi nasıl sağlayabilirim.
Tablo adına köprü oluşturulamıyorsa sayfa adına da olur
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,151
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Konuyla ilgili küçük bir örnek dosya paylaşırsanız destek almanız kolaylaşır.
 

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
247972

ön izleme için resim ekledim, bir de dosyayı ekledim.
 

Ekli dosyalar

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Konuyla ilgili küçük bir örnek dosya paylaşırsanız destek almanız kolaylaşır.
Aşağıdaki gibi bi makrom var ama bu dış bağlantı yapıyor, bunu da hücre içindeki değerle beraber üzerine çift tıklayınca html için oluşturuyor
tablolara gitmem gerekiyor


If Selection.Count > 1 Then Exit Sub
If Target.Column = 17 And Target.Row > 1 Then
Yol = Range("AJ1")
Hyperlinks.Add Anchor:=Target, Address:=Yol & "KPG" & Left(Target.Value, 2) & "000" & Mid(Target.Value, 3) & ".html"
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
örnek dosyanın işeyiş ve yapısı,
Sayfa1 de A sütunundaki veri olan hücrelere çift tıklayınca Sayfa2 ve Sayfa3 de temsili tabloların ilk hücresine gidiyor.
Kodlar Sayfa1 in kod modülünde
Formüller menüsünde Ad Yöneticinde temsili tabloların ilk hücresi için ilk, son gibi ad oluşturdum.
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Aslında makroya da gerek yok ad tanımları örnek dosyadaki gibi yaptıktan sonra Sayfa birde A sütunundaki hücrelerde sağ tıklayıp, Köprü yü seçip orada Bu Belgeye Yerleştir de oluşturulmuş adlardan birini seçin.
 

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Konuyla ilgili küçük bir örnek dosya paylaşırsanız destek almanız kolaylaşır.
Aşağıdaki gibi bi makrom var ama bu dış bağlantı yapıyor, bunu da hücre içindeki değerle beraber üzerine çift tıkla

If Selection.Count > 1 Then Exit Sub
If Target.Column = 17 And Target.Row > 1 Then
Yol = Range("AJ1")
Hyperlinks.Add Anchor:=Target, Address:=Yol & "GIB20" & Left(Target.Value, 2) & "000" & Mid(Target.Value, 3) & ".html"
 

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Aslında makroya da gerek yok ad tanımları örnek dosyadaki gibi yaptıktan sonra Sayfa birde A sütunundaki hücrelerde sağ tıklayıp, Köprü yü seçip orada Bu Belgeye Yerleştir de oluşturulmuş adlardan birini seçin.
Evet haklısınız şu an aynen dediğiniz gibi yapıyorum ama 800 adet kadar satır, 4 adet sütunda aynı işlemi yapmak için 3600 işlem yapmam gerekli bunu makroyla yapabilirsem daha hızlı olabilirim.
 

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
örnek dosyanın işeyiş ve yapısı,
Sayfa1 de A sütunundaki veri olan hücrelere çift tıklayınca Sayfa2 ve Sayfa3 de temsili tabloların ilk hücresine gidiyor.
Kodlar Sayfa1 in kod modülünde
Formüller menüsünde Ad Yöneticinde temsili tabloların ilk hücresi için ilk, son gibi ad oluşturdum.
Güzel işlemişsiniz, fakat bunu son gibi adı tabloların ilk hücresi için değil de. tabloların adları için kullanabilir miyiz. çünkü tüm tabloların adları mevcutta var ve aslında teknik olarak bağlantı da oluşturulabiliyor.
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Ana Sayfada A sütununda hücrede yazan tablo adlarını çift tıklayın, o tabloyu seçiyor, ayrıca ad tanımlamanıza gerek yok.
Tablo adları, tanımlı ad olmadığından, köprü kurulamıyor.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
adi = Target
For i = 1 To Sheets.Count
Sheets(i).Activate
For e = 1 To ActiveSheet.ListObjects.Count
If adi = ActiveSheet.ListObjects(e).Name Then
ActiveSheet.Range(adi & "[#All]").Select
Exit Sub
End If
Next
Next
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Ana Sayfa A sütununda bulunan tablo isimlerine köprü kuruluyor.
Kod:
Sub TableByName()
    For i = 1 To Cells(Rows.Count, 1).End(3).Row
    If Cells(i, 1).Value <> "" Then
    Dim TableName As String
    TableName = Cells(i, 1).Value
    Dim tbl As ListObject
    On Error Resume Next
    Set tbl = Range(TableName).ListObject
    If tbl Is Nothing Then Exit Sub
    With tbl
    If InStr(Test, .Range.Address) = 0 Then
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:=.Range.Worksheet.Name & "!" & Split(.Range.Address, ":")(0), TextToDisplay:=Cells(i, 1).Value
    Test = Test & .Range.Address
    End If
    End With
    End If
    Next
End Sub
 
Son düzenleme:

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Ana Sayfada A sütununda hücrede yazan tablo adlarını çift tıklayın, o tabloyu seçiyor, ayrıca ad tanımlamanıza gerek yok.
Tablo adları, tanımlı ad olmadığından, köprü kurulamıyor.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
adi = Target
For i = 1 To Sheets.Count
Sheets(i).Activate
For e = 1 To ActiveSheet.ListObjects.Count
If adi = ActiveSheet.ListObjects(e).Name Then
ActiveSheet.Range(adi & "[#All]").Select
Exit Sub
End If
Next
Next
End Sub
Bu kodu denedim örnek bir çalışma kitabında doğru çalıştı fakat olmasını istediğim çalışma kitabında kullanmaya kalktığımda çalıştıramadım. önce tüm sayfaları (ki sayfa sayısı oldukça fazla haliyle tabloda fazla) açıp aradı fakat bulamadan bir sayfada takılı kaldı. başka tablolara yönlendirdim ama çalıştıramadım

For e = 1 To ActiveSheet.ListObjects.Count

burada hata veriyor
 
Son düzenleme:
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Aşağıdaki kodlarda Sheets("Sayfa1") daki Sayfa adını kendinizin Ana sayfa adı ile değiştirin ve bu kodu bir kere çalıştırın. Ana sayfanız A sütununa tablolarınızın adları listelenecektir. Çalıştığında sorun çıkarttığını söylediğiniz kodları tekrar deneyin.
Kod:
 Sub TabloAdı()
a = 1
For i = 1 To Sheets.Count
Sheets(i).Activate
For e = 1 To ActiveSheet.ListObjects.Count
Sheets("Sayfa1").Cells(a, 1).Value = ActiveSheet.ListObjects(e).Name
a = a + 1
Next
Next
End Sub
 

ermanusta

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
304
Excel Vers. ve Dili
excel 365
Office 365
Altın Üyelik Bitiş Tarihi
14-11-2024
Aşağıdaki kodlarda Sheets("Sayfa1") daki Sayfa adını kendinizin Ana sayfa adı ile değiştirin ve bu kodu bir kere çalıştırın. Ana sayfanız A sütununa tablolarınızın adları listelenecektir. Çalıştığında sorun çıkarttığını söylediğiniz kodları tekrar deneyin.
Kod:
 Sub TabloAdı()
a = 1
For i = 1 To Sheets.Count
Sheets(i).Activate
For e = 1 To ActiveSheet.ListObjects.Count
Sheets("Sayfa1").Cells(a, 1).Value = ActiveSheet.ListObjects(e).Name
a = a + 1
Next
Next
End Sub

a = a + 1 de out of range hatası alıyorum
247999
248000
 

Ekli dosyalar

Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Ben Altın üye değilim dosyanızı göremiyorum. Tcdosya gibi bir paylaşım sitesi ile eklerseniz.
 
Üst