Yardım klasördeki son dosya ismini excele aktarma

satilmiscam

Yeni Üye
Katılım
22 May 2019
Mesajlar
2
En iyi yanıt
0
Puanları
1
Yaş
43
Konum
İstanbul
Ad Soyad
Satılmış Çam
Ben excel sayfasına h1hücresindeki dosya yolunu dikkate alarak bu klasördeki en son dosya ismini a1 hücresine yazdırmak istiyorum. Dosya uzantısını almasa da olur.

İnternette formlarda çok araştırdım. Dosya isimlerini getiriyorum, ama sıralı getiremiyorum.

benim dosya isimlerim "B0219051004 denisson tel. xlsb " / "B0219051005-termal tel. xlsb " "B0219051006. xlsb" gibidir. burada makro çalışınca "B0219051006. xlsb" gelmesi gerekirken "B0219051004 denisson tel. xlsb " geliyor. burada sadece baştan boşluğa " " kadar veya tire "-" işaretine kadar olan bölüm alınamaz mı? yani sadece "B0219051006" şeklinde en son dosya getirilemez mi?

bulduğum kod

PHP:
Sub XD_SonDosya()

    Dim XD() As String
    Dim i As String
    Dim Klasor As String
    Klasor = Range("h1")
        'XD_Yol = ThisWorkbook.Path & "\TimeSheet\"  'KLASOR YOLUNU BEL?RT?N'"
        XD_Yol = Klasor  'KLASOR YOLUNU BEL?RT?N'"
            If Right(XD_Yol, 1) <> "\" Then XD_Yol = XD_Yol & "\" '"
                'XD_Dosya = Dir(XD_Yol & "*.xlsx", vbNormal)
                XD_Dosya = Dir(XD_Yol & "*.*", vbNormal)
                    If Len(XD_Dosya) = 0 Then
                        MsgBox "Belirtilen dizinde dosya bulunmamaktad?r...", vbExclamation, "XXxxXXxxXX"
                        Exit Sub
                    End If
                    i = 0
                            Do While "" <> XD_Dosya
                                    i = i + 1
                                    ReDim Preserve XD(1 To i)
                                    XD(i) = Len(dosya)
                                        If i <> 1 Then
                                            If XD(i - 1) > XD(i) Then
                                                Exit Do
                                            End If
                                        End If
                                XDdosya = dosya
                            dosya = Dir
                            Loop
    'MsgBox XDdosya
    Sheets(1).Range("a1") = XDdosya
End Sub
 
Moderatör tarafında düzenlendi:

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,100
En iyi yanıt
0
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
Merhaba,
Klasör içinde örnek dosyalarınızı iletirseniz ona göre bir çözüm sunalım.
 

satilmiscam

Yeni Üye
Katılım
22 May 2019
Mesajlar
2
En iyi yanıt
0
Puanları
1
Yaş
43
Konum
İstanbul
Ad Soyad
Satılmış Çam
Merhaba,
Klasör içinde örnek dosyalarınızı iletirseniz ona göre bir çözüm sunalım.
Merhaba,

konu ile igili örnek istemişsiniz. dosyayı ekte vereceğim.
dosyada farklı kaydet tuşuna bastığıda firma isminin olduğu klasöre gidip son dosya ismine ulaşıyor.
yeni dosya ismini klasör kodu+yıl+ay+son dosya isiminin sırasına 1 eklenmiş yapıyı birleştirip örneğin "B02 +19 +05 1023" (B0219051024.xlsb)
formatına dönüştürerek firma isminin olduğu klasöre kaydediyor.
firma ismini değiştirdiğimde firma hangi klasörde ise o klasöre uygun yeni dosya ismi oluşturup örneğin "Z111905200.xlsb" o kalsöre kaydediyor.


benim istediğim klasördeki son dosya ismini bulup bu ismi yıl ay ve seri numarasının 1 fazlasına göre yeniden düzenleyip aynı klasöre düzenlediğim isimde kaydetmek.


yardımlarınız için çok teşekkürler

Not : deneme yaparken klasör açarsanız başına kodu yazıp sonra firma ismi yazarak açın. örneğin "Z03-ZEN. TİC. A.Ş." ŞEKLİNDE AÇINIZ.
 

Ekli dosyalar

Evren

Uzman
Katılım
9 Haz 2018
Mesajlar
112
En iyi yanıt
1
Puanları
28
Yaş
58
Konum
Emekli
Öyle yapmayın.:cool:
Önce bir hücreye sayıyı girin.
her yeni dosya oluşturuken o sayıyı bir arttırn.
Her yeni dosya oluşturuken dosya ismini oradan alın.
 
Üst Alt