• DİKKAT

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

txt dosyasından veri alma

umit1907

Altın Üye
Katılım
9 Mayıs 2007
Mesajlar
231
Excel Vers. ve Dili
365 TR
Merhabalar,

ekteki text dosyasından sadece 2 alanı almak istiyoruz ama formdaki dosyalardan uyarlayamadım. yardımlarınız için teşekkürler.
 

Ekli dosyalar

Merhaba,

Excele barkod bilgisini girdikçe Txt dosyasındaki karşılığını bulup getirmek mi? istiyorsunuz. Yoksa 2 başlık için Txt dosyasındaki ilgili bilgilerin tamamını mı? getirmek istiyorsunuz.
 
Son düzenleme:
Merhabalar,
Yok abi buradan aldığım barkod ve miktarı başka bir programa aktaracağım. bana sadece barkod ve miktar olsa yeterli.
 
Bu Txt dosyasını aldığınız yerden CSV uzantısı ile verileri kaydedebiliyor (dışa aktara biliyor) musunuz?
aksi takdirde aşağıdaki yöntem ile Excel "Veri" sekmesi altında "Metinden" başlığı ile txt dosyasını excele alabilirsiniz.
Fakat Txt dosyanızın yapısı gereği çok fazla tekrar eden başlık, boşluk, ara toplam gibi tablonun dizilimini bozan akış bozucu veriler var.
Bunları daha baştan Txt dosyasında manuel temizlemek gerekir. Yada bir makro ile bu bilgiler eğer kullanılmayacaksa excelden temizlenebilir.
 
Son düzenleme:
Bu Txt dosyasını aldığınız yerden CSV uzantısı ile verileri kaydedebiliyor (dışa aktara biliyor) musunuz?

yok abi sadece pdf rapor veriyormuş. program bu mado ve hilton otellerinin kullancığı micros diye bir stok programı. ben bunu text olarak dönüştürmüştüm.
 

Ekli dosyalar

Deneyiniz.

C++:
Option Explicit

Sub TXT_Dosyasindan_Verileri_Excele_Aktar()
    Dim Zaman As Double, Dosya As Variant, Veri As String, Metin As Variant, Satir As Long
    
    Range("A3:B" & Rows.Count).ClearContents
    
    Dosya = Application.GetOpenFilename("Metin dosyası (*.txt),*.txt", , "Hedef Dosyayı Seçin")
    If Dosya = False Then Exit Sub
    
    Zaman = Timer
    
    Open Dosya For Input As 1
    
    Satir = 3
    
    Do While Not EOF(1)
        Line Input #1, Veri
        Veri = WorksheetFunction.Trim(Veri)
        If Veri <> Empty Then
            If InStr(1, Veri, " RES ") > 0 Then
                Metin = Split(Veri, " RES ")
                Cells(Satir, 1) = Left(Metin(0), InStr(1, Metin(0), " "))
                Cells(Satir, 2) = Split(Metin(1), " ")(1)
                If InStr(1, Cells(Satir, 2), "%") > 0 Then
                    Cells(Satir, 2) = Split(Metin(1), " ")(0)
                End If
                Satir = Satir + 1
            End If
        End If
    Loop
    
    Close #1
    
    MsgBox "İşleminiz tamamlanmıştır." & vbCr & vbCr & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
End Sub
 
Eline sağlık Korhan Abi. tam oldu. Teşekkürler.
 
Geri
Üst