Hücreye tıklayınca İstediğim Kitabı açsın

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,893
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Arkadaşlar Klasör içindeki Fihrist adlı dosyamda klasördeki diğer dosyalar var.
Fihrist dosyamı açtığımda sirayla diğer dosyalar orada sıralı. Benim istediğim Özellikle KÖPRÜ kurmadan orada hangi kitabı seçersem seçtiğim kitabı açsın istiyorum. Nasıl yapabilirim.

Saygılar
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
Daha Önce Sayın Haldun Alay isimli bir kişinin Sık kullanılan Excel belgeleri için Oluşturduğu bir adres çubuğu eklentisi var elimde bunu burda paylaşayım.

Dosya Eklenti olarak Excel e tanıtılmalı
Araç çubuklarından Favoriler aktif edilmeli.


bu arada site yöneticilerine xla uzantılı dosyalar neden siteye eklenemiyor.????
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,730
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki şekilde deneyin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Workbooks.Open Filename:="C:\ÖRNEK\" & Target & ".xls"
End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,893
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Aşağıdaki şekilde deneyin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Workbooks.Open Filename:="C:\ÖRNEK\" & Target & ".xls"
End Sub
Hocam Teşekkürler

Saygılar
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
aşağıdaki şekilde yaparsan b2:b5 arasında çift tıkladığın hücredeki dosyayı açıyor

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo cikis
If Intersect(Target, [b2:b5]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
dizin = "c:\"
If Len(Target.Value) < 4 Then
dosya_ismi = dizin & Target.Value & ".xls"
ElseIf Mid(Target.Value, Len(Target.Value) - 3, 4) <> ".xls" Then
dosya_ismi = dizin & Target.Value & ".xls"
Else
dosya_ismi = dizin & Target.Value
End If


Workbooks.Open dosya_ismi
cikis:
End Sub
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
S&#246;z konusu kodlar&#305; bir s&#252;redir kullanmaktay&#305;m, haz&#305;rlayanlara te&#351;ekk&#252;r ederim. ancak benim de &#351;&#246;yle bir sorunum var;

Dizin olarak tan&#305;mlanan klas&#246;r bu kodlarda "C" s&#252;r&#252;c&#252;s&#252;n&#252;n "root" b&#246;l&#252;m&#252;. Benim kulland&#305;&#287;&#305;m dosyalar ise at&#305;yorum;
C:\Musteriler\Deneme
C:\Musteriler\Yanilma
C:\Musteriler\Sallama

Bu sekilde oldu&#287;unda, alt klas&#246;rlerdeki dosyalar&#305; ne yaz&#305;k ki a&#231;m&#305;yor. Bu konuda ne yap&#305;labilir?
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba sn seismic

Bir &#246;nceki mesajdaki dizin de&#287;i&#351;keni:

Kod:
dizin = "c:\"
&#351;eklindeydi.

O de&#287;i&#351;keni :
Kod:
dizin = "c:\Musteriler\Deneme"
&#351;eklinde kendinize uyarlayarak deneyiniz...
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Oras&#305; kolay da, C:\Musteriler\ klas&#246;r&#252;n&#252;n alt&#305;ndaki di&#287;er klas&#246;rleri nas&#305;l tan&#305;taca&#287;&#305;z? Deneme klas&#246;r&#252;ndeki dosyalar &#231;al&#305;&#351;acak ancak di&#287;er klas&#246;rlerdeki dosyalar &#231;al&#305;&#351;mayacakt&#305;r. Daha do&#287;rusu, deneme klas&#246;r&#252;ndeki dosyalara eri&#351;im sa&#287;lanacak, di&#287;erlerine sa&#287;lanamayacakt&#305;r, haks&#305;z m&#305;y&#305;m?
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
O zaman,

1.
dizin = "c:\m&#252;&#351;teriler\"
olarak atars&#305;n&#305;z.
2.
Herhangi bir h&#252;creyide bir alt klas&#246;r ismi olarak kullan&#305;rs&#305;n&#305;z ve "dosya_ismi" de&#287;i&#351;kenine atars&#305;n&#305;z.

Yani
Alt klas&#246;r ismini yazaca&#287;&#305;n&#305;z h&#252;creyi A1 dersek,
Kod:
dosya_ismi = dizin &  [a1] & "\" & Target.Value
gibi...

Daha farkl&#305; &#231;&#246;z&#252;mlerde olabilir. Benim akl&#305;ma gelen bu.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Bu &#351;ekilde olabilir belki ama ben &#231;ift t&#305;klad&#305;&#287;&#305;m h&#252;crede yaln&#305;zca dosyan&#305;n .xls'den &#246;nceki ismini yaz&#305;yorum. &#214;rnek vermek gerekirse;
C:\Musteriler\Deneme\ bu klas&#246;r&#252;n alt&#305;ndaki dosyalar, abc.xls, cde.xls, fgh.xls,

A s&#252;tununda yer alan de&#287;erler ise; A3= abc, A4=cde, A5=fgh,

C:\Musteriler\Yan&#305;lma\ bu klas&#246;r&#252;n alt&#305;ndaki dosyalar, 123.xls, 234.xls, 789.xls,

A s&#252;tununda yer alan de&#287;erler ise; A6= 123, A7=234, A8=789,

ve bunun gibi birka&#231; klas&#246;r ve de&#287;i&#351;ik isimde dosya daha. San&#305;r&#305;m &#351;imdi sorunu daha iyi anlatabildim.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Sayın Ayhan Ercan, verdiğiniz fikir üzerine, D sütununa müşterilerin, dolayısıyla klasörlerin ismini ekledim ve kodları aşağıdaki gibi değiştirdim. Teşekkür ediyorum, umarım başkaları da faydalanır.
Not: Aktif çalışma kitabı bir üst dizinde yer almaktadır ve dosya isimleri de B sütununda yazılmıştır.


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo cikis
If Intersect(Target, [b4:b655]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
dizin = ActiveWorkbook.Path & "\Musteriler\"
If Len(Target.Value) < 4 Then
dosya_ismi = dizin & Target.Value & ".xls"
ElseIf Mid(Target.Value, Len(Target.Value) - 3, 4) <> ".xls" Then
dosya_ismi = dizin & ActiveCell.Offset(0, 2).Value & "\" & Target.Value & ".xls"
Else
dosya_ismi = dizin & Target.Value
End If


Workbooks.Open dosya_ismi
cikis:
End Sub
 
Son düzenleme:
Katılım
23 Temmuz 2008
Mesajlar
1
Excel Vers. ve Dili
2003
Ingilizce
aşağıdaki şekilde yaparsan b2:b5 arasında çift tıkladığın hücredeki dosyayı açıyor

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo cikis
If Intersect(Target, [b2:b5]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
dizin = "c:\"
If Len(Target.Value) < 4 Then
dosya_ismi = dizin & Target.Value & ".xls"
ElseIf Mid(Target.Value, Len(Target.Value) - 3, 4) <> ".xls" Then
dosya_ismi = dizin & Target.Value & ".xls"
Else
dosya_ismi = dizin & Target.Value
End If


Workbooks.Open dosya_ismi
cikis:
End Sub
Benim dosyamdaki bazi hucreler iki yada uc hucrenin birlestirilmesiyle olusmus durumda. Bu nedenle birlestirme yapilmis hucrelerdeki dosyalari acmakta ise yaramiyor bu kod.nasil bir yol izlemek gerekir?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,427
Excel Vers. ve Dili
Ofis 365 Türkçe
Dosyalara Köprü Kurmak

Merhaba,

İşyerinde bir arkadaş için dün yaptığım dosyayı ekliyorum, umarım yararlı olur.

A sütununa istediğiniz dizin ve alt dizindeki tüm dosyaları getiririrken aynı zamanda köprü de kurar.
 
Üst