Formüldeki kitap Adı?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhaba
=Benzersiz_Kayit_0Z([TurkceHarfleriDikkateAlarakDiziSiralaması.xls]Sayfa1!$A$1:$B$10;A4)

Formülündeki kitap adını nasıl öğrenirim
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
örnek fonksiyon aşağıdadır
Kod:
Function AralıkBilesen(Aralik As Range)
'Dim wb As Workbook
Dim ws As Worksheet
'set wb =
Set ws = Worksheets(Aralik.Worksheet.Name)
AralıkBilesen = "Kitap: " & "????" & " Sayfa:" & ws.Name & "   Erim: " & Aralik.address
Set ws = Nothing
'set wb  = Nothing
End Function
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Güncel demek zorundayım Bu gece fonksiyonu bitirmek istiyorum.
Yanlış anlamazsınız umarım.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
merhaba,
Güncel
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki gibi olabilir.

Kod:
Function Formuldeki_Kitap_Ismi(rg As Range)
Dim basla As Integer
Dim bitis As Integer
Application.Volatile (True)
basla = InStr(1, rg.Formula, "[", vbTextCompare)
bitis = InStr(1, rg.Formula, ".xls", vbTextCompare)
Formuldeki_Kitap_Ismi = Mid(rg.Formula, basla + 1, bitis - basla - 1)
End Function
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Aşağıdaki gibi olabilir.

Kod:
Function Formuldeki_Kitap_Ismi(rg As Range)
Dim basla As Integer
Dim bitis As Integer
Application.Volatile (True)
basla = InStr(1, rg.Formula, "[", vbTextCompare)
bitis = InStr(1, rg.Formula, ".xls", vbTextCompare)
Formuldeki_Kitap_Ismi = Mid(rg.Formula, basla + 1, bitis - basla - 1)
End Function
Hocam alakanıza teşekkür ederim ancak değer hatası veriyor
Benim İstediğim Seçilen hücrenin başvurduğu kitabın ismi

Kod:
Function AralıkBilesen(Aralik As Range)
'Dim wb As Workbook
Dim ws As Worksheet
'set wb =
Set ws = Worksheets(Aralik.Worksheet.Name)
AralıkBilesen = "Kitap: " & "????" & " Sayfa:" & ws.Name & "   Erim: " & Aralik.address
Set ws = Nothing
'set wb  = Nothing
End Function

Yukarıdaki fonksiyonu bir xls belgesine kopyalayıp, test.xla olarak kaydedin
Mesala
Kitap1, Sayfa1, a1, a2, a3 hücrelerine aşağıdaki fonksiyonları yazın.
=AralıkBilesen([Kitap2]Sayfa2!$B$3:$C$10)
=AralıkBilesen([Kitap1]Sayfa2!$B$3:$C$10)
=AralıkBilesen(Sayfa2!$B$3:$C$10)
sonuç hepsinde aşağıdaki gibi dönecektir.
=Kitap: ???? Sayfa:Sayfa2 Erim: $B$3:$C$10

Kitap: ???? Sayfa:Sayfa2 Erim: $C$24
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Yani, Hüseyin kardeşim, daha önce bu açıklamayı yapsaydın çözülürdü.

Aşağıdakini deneyiniz.

Kod:
Function AralıkBilesen(Aralik As Range)
Dim wb As Workbook
Dim ws As Worksheet
Set ws = Aralik.Parent
Set wb = ws.Parent
AralıkBilesen = "Kitap: " & wb.Name & " Sayfa:" & ws.Name & "   Erim: " & Aralik.Address
Set ws = Nothing
Set wb = Nothing
End Function
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Aslında yaptım hocam ama 1. mesajı editlemek yerine 2. mesaja yazmışım kusura bakmayınız. emeğinize sağlık.
 
Üst