• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yan Yana Dosya İsmi Yazdırma Function

Katılım
8 Şubat 2012
Mesajlar
94
Excel Vers. ve Dili
Excel 2003 vba
Sayın ilgili,
1) Siteden belirtilen yoldaki dosyaları alt alta yazdıran bir örnek çalışma buldum.Ben bunu tek bir hücrenin içine alt alta değil de yana yana araya bir _ işareti koyarak yazdırmak istiyorum.
2) aşağıdaki kodları bir butona atayarak c2 deki klasör yoluna göre d2 ye yanyana yazdıran bir kod buldum ve bir şekilde istediğim oldu.

Private Sub CommandButton1_Click()
Dim ds, f, f1
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder([c2])
For Each f1 In f.Files
[d2] = [d2] & f1.Name & "_"
Next
End Sub

3) Ancak Sorun şu ki benim tablomda c2 den c19 a kadar klasör yollarını veren veri var. Bu durumu aşmak içinde 17 tane command buton yapmak zorunda kaldım.
Acaba yukarıdaki kodları nasıl functiona dönüştürebiliriz. Yani biz hücreyi seçeceğiz bize o yoldaki dosya isimlerini yazdırsın.
Function oluşturmalara baktım ama saçmaladım sanırım ve hata veriyor.
Kolay anlaşılması açısından dosya ekteki gibidir.
 

Ekli dosyalar

Aşağıdaki gibi deneyiniz.

Kod:
Function Dosyaismiyanyana(Yol As Range)
    Dim Dosya_Sistemi As Object, Dosya_Yolu As Object, Dosya As Object, Veri As String
    
    Set Dosya_Sistemi = CreateObject("Scripting.FileSystemObject")
    Set Dosya_Yolu = Dosya_Sistemi.GetFolder(Yol.Text)
    
    For Each Dosya In Dosya_Yolu.Files
        If Veri = "" Then
            Veri = Dosya.Name
        Else
            Veri = Veri & "_" & Dosya.Name
        End If
    Next
    
    Dosyaismiyanyana = Veri
End Function
 
[ÇÖZÜLDÜ]

Korhan Bey
Merhabalar. Harika olmuş. Çok teşekkür ederim.
 
Geri
Üst