Excel to CSV ( comma delimited )

Katılım
26 Eylül 2013
Mesajlar
10
Excel Vers. ve Dili
2010
elimizde örnek bir csv dosyası var. Açarkan sütunlara bölüyorum ve tablo halinde açılıyor. Bunun içerisine aynı formatta satırlar ekleyip csv ( comma delimited ) olarak kaydediyorum ancak açtığımda örnek dosya gibi değil satır ve sütünlar halinde kaydedildiğini görüyorum.

Durum böyle olunca import edeceğim sistem verileri okuyamıyor. Nerede yanlış yapıyorum acaba
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Sorularınızı, örnek belge üzerinden sorarsanız daha hızlı sonuca ulaşabilirsiniz.

Örnek belge ile ilgili olarak cevabımın altındaki İMZA bölümünü okuyunuz.
.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub csvDenOku()
    Cells.ClearContents
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTF = objFSO.OpenTextFile(ThisWorkbook.Path & "\test.csv", 1)

    satirlar = Split(objTF.readall, vbCrLf)
    For i = 0 To UBound(satirlar)
        satir = satirlar(i)
        If Len(satir) > 0 Then

            If InStr(satir, """") > 0 Then satir = virgulCevir(satir)
            sutunlar = Split(satir, ",")
            For ii = 0 To 26
                sutunlar(ii) = Replace(sutunlar(ii), "|", ",")
                Cells(i + 1, ii + 1).NumberFormat = "@"
                Cells(i + 1, ii + 1).Value = Trim(sutunlar(ii))
            Next ii

        End If
    Next i
    objTF.Close
End Sub
Sub csvOlustur()
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTF = objFSO.CreateTextFile(ThisWorkbook.Path & "\test.csv", 1)

    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        satir = ""
        For ii = 1 To 27
            al = Cells(i, ii)
            If InStr(al, ",") > 0 Then al = Chr(34) & al & Chr(34)
            satir = satir & "," & al
        Next ii
        objTF.WriteLine Mid(satir, 2)
    Next i
    objTF.Close

End Sub

Function virgulCevir(cevir)
    bul = InStr(cevir, """")
    bol1 = Left(cevir, bul - 1)
    bol2 = Mid(cevir, bul + 1)
    bul = InStr(bol2, """")
    bol21 = Left(bol2, bul - 1)
    bol22 = Mid(bol2, bul + 1)
    bol21 = Replace(bol21, ",", "|")
    cevir = bol1 & bol21 & bol22
    If InStr(cevir, """") Then satir = virgulCevir(cevir)
    virgulCevir = cevir
End Function
https://yadi.sk/d/KpKd1I6XAWuAew
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Eylül 2013
Mesajlar
10
Excel Vers. ve Dili
2010
Kod:
Sub csvDenOku()
    Cells.ClearContents
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTF = objFSO.OpenTextFile(ThisWorkbook.Path & "\test.csv", 1)

    satirlar = Split(objTF.readall, vbCrLf)
    For i = 0 To UBound(satirlar)
        satir = satirlar(i)
        If Len(satir) > 0 Then

            If InStr(satir, """") > 0 Then satir = virgulCevir(satir)
            sutunlar = Split(satir, ",")
            For ii = 0 To 26
                sutunlar(ii) = Replace(sutunlar(ii), "|", ",")
                Cells(i + 1, ii + 1).NumberFormat = "@"
                Cells(i + 1, ii + 1).Value = Trim(sutunlar(ii))
            Next ii

        End If
    Next i
    objTF.Close
End Sub
Sub csvOlustur()
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTF = objFSO.CreateTextFile(ThisWorkbook.Path & "\test.csv", 1)

    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        satir = ""
        For ii = 1 To 27
            al = Cells(i, ii)
            If InStr(al, ",") > 0 Then al = Chr(34) & al & Chr(34)
            satir = satir & "," & al
        Next ii
        objTF.WriteLine Mid(satir, 2)
    Next i
    objTF.Close

End Sub

Function virgulCevir(cevir)
    bul = InStr(cevir, """")
    bol1 = Left(cevir, bul - 1)
    bol2 = Mid(cevir, bul + 1)
    bul = InStr(bol2, """")
    bol21 = Left(bol2, bul - 1)
    bol22 = Mid(bol2, bul + 1)
    bol21 = Replace(bol21, ",", "|")
    cevir = bol1 & bol21 & bol22
    If InStr(cevir, """") Then satir = virgulCevir(cevir)
    virgulCevir = cevir
End Function
https://yadi.sk/d/KpKd1I6XAWuAew
Veysel bey teşekkür ederim hemen deniyorum
 
Üst