Text dosyadaki bilgileri line input ile alırken diziye nasıl alabilirim?

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,757
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kod:
Workbooks.OpenText Filename:=dosya, DataType:=xlDelimited, Tab:=True
Yukarıdaki kod bir text dosyasını açıyor ve bizde farklı kayıt ile metni naktalı virgül ile sütunlara dönüştürüp sonrada istenen excel dosyası olarak kayıt yapıyoruz.

16. nolu mesajımda da yazmıştım bu kod sadece alternatif olarak ekledim belki işinize yardımcı olmaya bilir.
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Deneyeceğim Halit3 Hocam,
Çok teşekkür ederim.
Saygılarımla
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,269
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Ben de kısa bir alternatif vereyim bari...

Kod:
Sub Test3()
    'Haluk - 22/01/2019
    '
    Dim MyFile As Variant, myArr As Variant, myArr2 As Variant
    Dim strfile As String, lineNo As Long
    
    MyFile = Application.GetOpenFilename("Text Files, *.txt", , "Dosya seçin...")
    If Not MyFile = False Then
        Open MyPath & MyFile For Input As #1
            strfile = Input(LOF(1), #1)
        Close #1
        
        myArr = Split(strfile, vbCrLf)
        
        For lineNo = 0 To UBound(myArr) - 1
            myArr2 = Split(myArr(lineNo), ";")
            Range("A" & lineNo + 1).Resize(1, UBound(myArr2) + 1) = myArr2
        Next
    End If
    Erase myArr2
    Erase myArr
End Sub
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,580
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Sayın Haluk Hocam,
Bu alternatif bir harika. Ek dosyaya da ihtiyaç göstermeden, istediğiniz noktadan başlayarak çalışmayı 400 kez hızlandırdı. Çok makbule geçti.
Çok teşekkür ederim.
Saygılarımla
 
Üst