• DİKKAT

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

vba düşeyarada kaynak dosyanın adını listboxtan seçmek

Katılım
24 Temmuz 2019
Mesajlar
484
Excel Vers. ve Dili
EXCEL 2010 TÜRKÇE
Merhaba
Aşağıdaki kodu @Korhan Ayhan hocam bir soruma cevaben yazmıştı. Bu kodda bir revizyon ricam olacak. 4. satırda ("Dosya_Yolu" olan satır) kaynak dosyanın adını listboxtan seçmek istiyorum. Listboxta excel dosyalar listelenmektedir. Adları farklı ama formatları aynı olan dosyalardan birini listboxtan seçmek suretiyle veri aktarımı yapmak için 4. satırdaki kod nasıl revize edilmelidir?
Not: Kaynak dosyaların tümünün sayfa adları aynıdır.
Kod:
Sub Aktar()

    Dim Dosya_Yolu As String, Son As Long, Zaman As Double
    Zaman = Timer
    Application.ScreenUpdating = False
    Dosya_Yolu = ThisWorkbook.Path & Application.PathSeparator & "[BANKA LİSTESİ.xls]Sayfa1"
    Son = Cells(Rows.Count, 2).End(3).Row
    With Range("E2")
        .Resize(Rows.Count - 1).ClearContents
        .Resize(Son).Formula = "=IFERROR(VLOOKUP(B2,'" & Dosya_Yolu & "'!$B:$E,4,0),"""")"
        .Resize(Son).Value = .Resize(Son).Value

    End With
    Application.ScreenUpdating = True
    MsgBox "Veri aktarımı tamamlanmıştır." & vbCr & vbCr & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
Deneyiniz.

Dosya_Yolu = ThisWorkbook.Path & Application.PathSeparator & "[" & Listbox1.Value & "]Sayfa1"

Dosya isimleri Listbox üzerinde nasıl görünüyor belirtmemişsiniz. Eğer uzantıları yoksa üstte ki satıra dosya uzantısı eklemeniz gerekebilir.
 
Deneyiniz.

Dosya_Yolu = ThisWorkbook.Path & Application.PathSeparator & "[" & Listbox1.Value & "]Sayfa1"

Dosya isimleri Listbox üzerinde nasıl görünüyor belirtmemişsiniz. Eğer uzantıları yoksa üstte ki satıra dosya uzantısı eklemeniz gerekebilir.
Evet bunu düşünemedim. Ama dosya isimleri listboxta uzantı ile birlikte görünüyor.
 
Sayın @Korhan Ayhan üstadım. Hızlı cevabınız için bir kez daha çok teşekkür ederim .
 
Geri
Üst