Giriş yapılan verinin CSV uzantılı bir dosya olarak kaydedilmesi

Katılım
1 Aralık 2017
Mesajlar
3
Excel Vers. ve Dili
2016 TR
Merhabalar,

Sayfada sadece A sütununa girdiğim verileri masa üstüne CSV dosyası olarak kaydetmek istiyorum ancak veri miktarı değişkenlik gösteriyor. Bazen 5 satır bazen ise 150 satır veri giriyorum ki bundan dolayı sadece giriş yaptığım satır sayısı kadar veriyi almam gerekiyor. Yardımcı olabilir misiniz?
 

bmutlu966

Altın Üye
Katılım
26 Ocak 2006
Mesajlar
755
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Deneyiniz. Masaüstüne Yeni_dosya.csv olarak kaydeder.

Kod:
Sub csv_kaydet()
    Range("A1:A" & [A65536].End(3).Row).Copy
    Set w = Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ("Username") & "\Desktop\Yeni_dosya.csv", FileFormat:=xlCSV
End Sub
 
Katılım
1 Aralık 2017
Mesajlar
3
Excel Vers. ve Dili
2016 TR
Deneyiniz. Masaüstüne Yeni_dosya.csv olarak kaydeder.

Kod:
Sub csv_kaydet()
    Range("A1:A" & [A65536].End(3).Row).Copy
    Set w = Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ("Username") & "\Desktop\Yeni_dosya.csv", FileFormat:=xlCSV
End Sub

Çok teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,257
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Kod:
Range("A1:A" & [A65536].End(3).Row).Copy
satırı
veri 65536 dan fazla olduğunda saçmalar.
Bunun yerine Genel Amaçlı olarak aşağıdaki gibi kullanmakta her zaman yarar vardır.
Yarın birgün yeni sürümlerde sayfanın satır sayısı 3-5 milyona çıktığında da aşağıdaki kod her zaman çalışır.

Kod:
Range("A1:A" & Cells(Rows.Count, "A").End(3).Row).Copy
 
Üst