Aralığı CSV'ye Aktar (Sınırlandırılmış Metin Dosyası) - VBA Kodu Örnekleri

Aralığı CSV Dosyasına Kaydet

Bir aralığın sınırlandırılmış bir metin dosyasına nasıl dışa aktarılacağına ilişkin Çözüm #670.

Bu, aşağıdaki durumlarda "farklı kaydet"i seçerek çalışma sayfasını bir Metin dosyası veya CSV ile sınırlandırılmış dosya olarak kaydetmenin Excel'in varsayılan yolunu kullanmanın kullanışlı bir alternatifidir:

1. Bir şablon kullanıyorsunuz ve yalnızca başlıklar ve diğer çeşitli şeyler hariç verileri dışa aktarmak istiyorsunuz.

2. Benzer şekilde, bir veri kümesinin yalnızca bir kısmını dışa aktarmak isteyebilirsiniz.

3. Dosyayı, uygulamanıza özel olabilecek özel bir sınırlayıcıyla kaydetmek istiyorsunuz.

1,2 veya 3 yapmanız gerekiyorsa aşağıdaki gibi bir işlev yardımcı olabilir. Dışa aktarılacak bir aralığı, dosyanın kaydedileceği konumu ve verilerinizin ayrılmasını istediğiniz sınırlayıcıyı kabul eder ve ardından verilerinizi belirtilen şekilde kaydeder.

Fonksiyonu nasıl çağıracağınız aşağıda açıklanmıştır İhracat Aralığı:

1234567891011 Alt ÇağrıExport()'ExportRange(aralık, nerede, sınırlayıcı)ExportRange(Sheet1.Range("A1:C20")), _"C:mark.txt", ",")Alt Bitiş

Önce işleve, dışa aktarmak istediğiniz aralığı, ardından nereye dışa aktaracağınızı, kullanılacak sınırlayıcıyı söylersiniz. işlevine de ihtiyacınız olacak İhracat Aralığı, işte burada:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 İşlev ExportRange(Aralık Olarak WhatRange, _Dize Olarak, Sınırlayıcı Dize Olarak) Dize OlarakDim HoldRow As Long 'yeni satır değişkeni için testHoldRow = WhatRange.RowDim c As Range 'döngü aralığı değişkeniWhatRange'deki Her c İçinEğer HoldRow c.Row ise'satır sonu ekle ve fazladan sınırlayıcıyı kaldırExportRange = Sol(ExportRange, Len(ExportRange) - 1) _& vbCrLf & c.Text & SınırlayıcıHoldRow = c.RowBaşkaExportRange = ExportRange & c.Text & AyırıcıBitirsonraki c'Ekstra sınırlayıcıyı kırpExportRange = Sol(ExportRange, Len(ExportRange) - 1)'Dosya zaten varsa öldürLen(Dir(Nerede)) > 0 isenerede öldürBitirEklenecek Yeri # 1 Olarak Açın 'yeni dosyayı yazınBaskı #1, ExportRange#1'i kapatBitiş İşlevi
wave wave wave wave wave