Soru Klasör adını almak

Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba arkadaşlar;

Excel tablomda ; D3 : D150 arasında bu şekilde path yazıları var.

K:\aaa\bbbb\cccc\3000 MERDIVEN
K:\aaa\bbbb\cccc\BALKON01
K:\aaa\bbbb\cccc\KASA
K:\aaa\bbbb\cccc\VARIL4
K:\aaa\bbbb\cccc\PORTATIF MANGAL
...


A3 : A150 arasına bu şekilde , Path de yazan son kalsör adını Command buton ile D3 : D150 aralığındaki referansdan alarak yazdırabilir miyiz?

3000 MERDIVEN
BALKON01
KASA
VARIL4
PORTATIF MANGAL
...



yardımcı arkadaşa şimdiden Teşekkürler.

Herkese Mutlu Yıllar Dilerim...
 
Katılım
13 Temmuz 2016
Mesajlar
613
Excel Vers. ve Dili
Excel 2010 & 2016 Türkçe
Altın Üyelik Bitiş Tarihi
06-03-2020
Merhabalar aşağıdaki kodu deneyebilirsiniz.
Kod:
Sub bol()

Dim a As Long
For a = 1 To Cells(1, 4).End(xlDown).Row
Sheets("Sayfa1").Range("A" & a).Value = Split(Sheets("Sayfa1").Range("D" & a).Value, "\")(4)
Next

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
"Google Sheets" ile alternatif;

Capture.PNG

.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
C#:
p = "K:\aaa\bbbb\cccc\3000 MERDIVEN"
MsgBox CreateObject("Scripting.FileSystemObject").GetBaseName(p)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Alternatif;
C++:
Sub Osma()
    For i% = 3 To 150
        adres$ = Cells(i, 1).Value
        Cells(i, 4) = Mid(adres, InStrRev(adres, "\") + 1, Len(adres))
    Next i
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
3 No'lu mesajdaki "Google Sheets" alternatifinin VBA karşılığı;

Kod:
Sub Test()
    Dim regExp As Object, i As Integer
    Set regExp = CreateObject("VBScript.RegExp")

    regExp.Pattern = "(.+)\\"
  
    For i = 3 To 150
        Range("D" & i) = regExp.Replace(Range("A" & i).Text, "")
    Next
End Sub
.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu da alternatif olsun;

C++:
Option Explicit

Sub Klasor_Adi_Al()
    Dim Son As Long
    
    Son = Cells(Rows.Count, "D").End(3).Row
    
    Range("A3:A" & Rows.Count).ClearContents
    
    With Range("A3:A" & Son)
        .Formula = "=MID(D3,FIND(""|"",SUBSTITUTE(D3,""\"",""|"",LEN(D3)-LEN(SUBSTITUTE(D3,""\"",""""))))+1,255)"
        .Value = .Value
    End With
End Sub
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
işsiz123



bu hatayı veriyor..,
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Zeki Gürsoy

sadece 1 path için tamamdır... bu tabloda işime yaramayacak ama başka uygulamalarda kullanabilirim. Arşive ekliyorum

Teşekkürler.
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Murat OSMA

Haluk

-----

iki kodda aynı şekilde çalışıyor. fakat istediğim tam olarak bu değil.. yada ben düzenleyemedim... ( yol aynı zamanda köprü biçiminde...)

Teşekkürler.
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Korhan Ayhan


Hocam çok Teşekkür ediyorum, Tamamdır...
 
Üst