CSV dosyasında çift tırnak içinde bulunan satır başlarını kaldırıp excele aktarma

Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba,
CSV dosyalarım var, bunları bir Excel Macro ile Excel e dönüştürüyorum.
Fakat, CSV de çift tırnak içindeki bilgiler içinde satırbaşı kullanılmıştır, o nedenle excele dönüştürünce hücrelere doğru yerleşim olamamaktadır.
Çift tırnak içindeki satırbaşı LF işaretlerini macro ile yok ederek excele nasıl dönüştürebilirim.
Destekleriniz için şimdiden teşekkürler
Selahattin
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,823
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Örnek koymuş olsanız daha kolay cevap alırsınız diye düşünüyorum.
İyi çalışmalar
 
Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba Tevfik Bey,
csv dosyasını buraya ekleyemiyorum. Nasıl ekleyebilirim acaba?
İlginize Teşekkürler
Selahattin
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,823
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Altın Üye olmanın faydaları !!! :))
Dosta.tc ya da Google Drive ya dabaşka dosya yükleme sitelerinden yükleyebilirsiniz.
İyi çalışmalar
 
Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba Tevfik Bey,
Bir test csv dosyası yükledim.
O dosya müdahale edemediğim bir uygulamanın çıktısıdır.
Görüldüğü gibi, alan ın birisini girerken vatandaş CR kullanmış ve
*aaaaaaa
* bbbbbb
* ccccccc
bilgileri alt alta üç satıra bölünmüş. Halbuki onların yanyana bir alanın içeriği olması gerekirdi.
Bunu nasıl gerçekleştireceğim konusunda desteğe ihtiyacım var.

İyi günler
Selahattin

test.csv
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,823
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Ekli dosya sizin dosyanızın excel.xls şekle çevrilmişidir. İkisi arasında hiç fark yok. Ya da ben sizin ne demek istediğinizi anlamadım.
Siteden edindiğim bir bilgidir bu, bir defa daha paylaşayım; csv dosyayı xls hale geçirmek için sadece isimdeki csv i xls yapmak yeterlidir. Bunun için makroya gerek yok.
Ekli dosya da böyle yapılmıştır.
İyi çalışmalar
 

Ekli dosyalar

Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba Tevfik Bey,
Altın üye olmadığım için indiremedim ama dediğiniz gibi tipini değiştirdim ama istediğim o değil, sanırım yapmak istediğimi yansıtamadım.
Ekte bir excel dosyası ekledim, orada istediğimi görebileceksiniz. Yani, *aaaa *bbbb *cccc alanlarının 2.satır dördüncü kolona yerleşmesi.
Bu csv dosyasının yaratıldığı yerde, 4. kolon bilgileri girilirken satırbaşı kullanıldığı için onlar, başka hücrelere gitmiş görünüyorlardı.
CSV ve XLSX dosyalarını karşılaştırdığınızda tam olarak görebileceksiniz.
Saygılarımla
Selahattin

test.xlsx
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,823
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Bu gönderdiğiniz xlsx dosyası. Benim eklediklerim sizin dosyanın csv ve xls versiyonları.
Tabi ben yine sizin ne demek istediğinizi anlamadım. Lütfen kusuruma bakmayın. Halbuki sürekli csv dosyalarla çalışıyorum, bu nedenle talip oldum sorunuza ama anlamadım arkadaşım. Yani ben anlamadım. Belki başka bir arkadaş yardım edebilir.
İyi çalışmalar
 

Ekli dosyalar

Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Teşekkür ederim, ilginize.
İyi günler
Selahattin
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    Cells.ClearContents
    With CreateObject("ADODB.Stream")
        .Open
        .LineSeparator = 10
        .Charset = "UTF-8"
        .LoadFromFile "C:\Users\pc\Downloads\test.csv"
        txt = .ReadText(-1)
        .Close
    End With
    txt = Replace(txt, Chr(34) & Chr(10), Chr(13))
    For Each b In Split(txt, Chr(13))
        sat = sat + 1
        sut = 1
        For Each bb In Split(Replace(b, """", ""), ",")
            Cells(sat, sut) = WorksheetFunction.Trim(bb)
            sut = sut + 1
        Next
    Next
    With ActiveSheet.UsedRange
        .ColumnWidth = 100
        .Columns.AutoFit
    End With
End Sub
 
Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhaba Veyselemre bey,
Cevabınız için çok teşekkürler.
Kodu excel modüle kopyalayıp, test ediyorum.
Fakat bir noktayı anlayamadım, output u kendi üzerine mi kopyalıyor yoksa başka bir excel i mi kopyalıyor.?
Mevcut dosyada bir değişiklik göremedim çünkü.
iyi çalışmalar
Selahattin
 
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhaba Veyselemre bey,
Cevabınız için çok teşekkürler.
Kodu excel modüle kopyalayıp, test ediyorum.
Fakat bir noktayı anlayamadım, output u kendi üzerine mi kopyalıyor yoksa başka bir excel i mi kopyalıyor.?
Mevcut dosyada bir değişiklik göremedim çünkü.
iyi çalışmalar
Selahattin
Bu koda göre hangi excelin hangi sayfasında makro çalışırsa o excelin o sayfasına verilerin gelmesi gerek.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,823
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaş,
Bu bağlantı size yeterli. Teşekkürler Veysel Hocam.
İyi çalışmalar
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Merhaba Veyselemre bey,
Cevabınız için çok teşekkürler.
Kodu excel modüle kopyalayıp, test ediyorum.
Fakat bir noktayı anlayamadım, output u kendi üzerine mi kopyalıyor yoksa başka bir excel i mi kopyalıyor.?
Mevcut dosyada bir değişiklik göremedim çünkü.
iyi çalışmalar
Selahattin
csv dosyasının adresini buraya yazdınız mı?
LoadFromFile "C:\Users\pc\Downloads\test.csv"
 
Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhabalar,
Çok teşekkürler.
İndirdim ve test ediyorum.
İki nokta dikkatimi çekiyor.
1. Program, txt içindeki virgüle göre cell lere ayırıyor. Bu nedenle, bilgiyi virgüllere bakıp L,M,N,O kolonlarına yerleştirmiş. Halbuki, L,M,N,O daki bilgiler , sadece L kolonunda olması gerekir idi. Çünkü hepsi bir çift tırnak içinde. Bir türlü sadece iki çift tırnak içindeki , LF leri temizlemek gerekecek.
2. Tüm dosyayı, excel de tek bir satıra koymuş, onları satır satır ayırmak gerekecek. LF temizleme işini belki çift tırnak içine bakarak sınırlayabilirsek, ozaman gerçek satır LF leri yerinde kalmış olur sanıyorum.
Ama nasıl yapılacağını tasavvur edemedim.
İyi çalışmalar
Selahattin
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
222366
Hangi LMNO sutunları eklediğiniz csv bu şekilde geliyor. Başka bir csv ile deniyorsanız orası size kalmış,
 
Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Ne kadar kolaymış.
Power Query Kodu:
Kod:
let
    Kaynak = Csv.Document(File.Contents("C:\Users\pc\Desktop\t\test5.csv"),[Delimiter=",", Columns=10, Encoding=65001, QuoteStyle=QuoteStyle.Csv]),
    #"Tanıtılan Üst Bilgiler" = Table.PromoteHeaders(Kaynak, [PromoteAllScalars=true]),
    #"Değiştirilen Tür" = Table.TransformColumnTypes(#"Tanıtılan Üst Bilgiler",{{"İyi Uygulama Adı", type text}, {"Paylaşım Tarihi", type date}, {"Hayata Geçiş Tarihi", type text}, {"Kısa Tanıtımı", type text}, {"Ayrıntılı Tanıtımı", type text}, {"Uygulayanlar ", type text}, {"Yerleşke", type text}, {"İletişim", type text}, {"", type text}, {" ", type text}}),
    #"Kırpılmış Metin" = Table.TransformColumns(#"Değiştirilen Tür",{{"Kısa Tanıtımı", Text.Trim, type text}})
in
    #"Kırpılmış Metin"
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Google Sheets ile daha da basit ..... Sadece File>Import menüsü ile elde edebilirsiniz...

.Capture.PNG
 
Üst