En son eğik çizgiden sonrakileri alan formül

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
566
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Merhaba değerli hocalarımız,

C:\Users\hakki\Desktop\ana klasör\resim.jpg

Üstteki dizin adresindeki, en sondaki resim.jpg'yi alacak formül oluşturabilir miyiz?

Hatta eğer yapılabiliyorsa hem formül hem de makrolu halini denemek isterim.

Veriler A sütununda ve A2'den itibaren başlıyor.

Teşekkürler.

(Ekleme: dosyalar sadece jpg değildir, yukarıdaki örnek bir dizin adresidir)
 
Son düzenleme:

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
566
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Pitchoute hocam elinize emeğinize sağlık. Fakat benim hatam, (örnek dosya eklemediğim için) yanlış anlaşılma olmuş.

Örnek excel dosyasındaki gibi verileri almak istiyordum.

Dosya ekledim.

https://www.dosya.tc/server/adnqpm/ornek.xlsm.html
 

Ekli dosyalar

Son düzenleme:
Katılım
6 Mart 2024
Mesajlar
304
Excel Vers. ve Dili
2010 TR & 2016 TR
Merhaba,
VBA olarak Kullanıcı Tanımlı Fonksiyon

C++:
Function DosyaAd(DosyaTamYol As String) As String
    If Dir(DosyaTamYol) <> "" Then
        ' Geçerli bir dosya varsa, dosya adını döndür
        DosyaAd = Dir(DosyaTamYol)
    Else
        ' Geçersiz dosya yolu ise yinede yaz
        DosyaAd = Mid(DosyaTamYol, InStrRev(DosyaTamYol, "\") + 1)
        ' sonuna " !" işareti ekle
        DosyaAd = DosyaAd & " !"
    End If
End Function
Sayfa da kullanım şekillerine örnek
=DosyaAd(A2)
veya
=DosyaAd("C:\Users\hakki\Desktop\ana klasör\resim1.jpg")

Not:

Excel yerleşik fonksiyonlar konusunda zayıfım
o bakımdan Bilgili arkadaşlar yardımcı olacaktır.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
566
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Merhaba,
VBA olarak Kullanıcı Tanımlı Fonksiyon

C++:
Function DosyaAd(DosyaTamYol As String) As String
    If Dir(DosyaTamYol) <> "" Then
        ' Geçerli bir dosya varsa, dosya adını döndür
        DosyaAd = Dir(DosyaTamYol)
    Else
        ' Geçersiz dosya yolu ise yinede yaz
        DosyaAd = Mid(DosyaTamYol, InStrRev(DosyaTamYol, "\") + 1)
        ' sonuna " !" işareti ekle
        DosyaAd = DosyaAd & " !"
    End If
End Function
Sayfa da kullanım şekillerine örnek
=DosyaAd(A2)
veya
=DosyaAd("C:\Users\hakki\Desktop\ana klasör\resim1.jpg")

Not:

Excel yerleşik fonksiyonlar konusunda zayıfım
o bakımdan Bilgili arkadaşlar yardımcı olacaktır.
Emeğinize sağlık olmuştur. Sadece sondaki ünlem işaretini çıkardım.
 
Katılım
6 Mart 2024
Mesajlar
304
Excel Vers. ve Dili
2010 TR & 2016 TR
ünlem işaretini çıkardım
Dosya olup olmaması önemli değil,
sadece enson "\" işaretinden sonraki kelimeleri versin derseniz.

Kodlar kısaltılabilir.
C++:
Function DosyaAd(DosyaTamYol As String) As String
        DosyaAd = Mid(DosyaTamYol, InStrRev(DosyaTamYol, "\") + 1)
End Function
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
566
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Dosya olup olmaması önemli değil,
sadece enson "\" işaretinden sonraki kelimeleri versin derseniz.

Kodlar kısaltılabilir.
C++:
Function DosyaAd(DosyaTamYol As String) As String
        DosyaAd = Mid(DosyaTamYol, InStrRev(DosyaTamYol, "\") + 1)
End Function
Bu daha güzel sade oldu Biolightant hocamız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Formülle alternatif...

C++:
=PARÇAAL(A2;BUL("|";YERİNEKOY(A2;"\";"|";UZUNLUK(A2)-UZUNLUK(YERİNEKOY(A2;"\";""))))+1;255)
Ofis 365 için;

C++:
=SONRAKİMETİN(A2;"\";-1)
 
Üst