Note: The other languages of the website are Google-translated. Back to English
Oturum aç  \/ 
x
or
x
Kaydol  \/ 
x

or

Birden çok Excel dosyasını Excel'deki CSV dosyalarına toplu olarak nasıl dönüştürebilirim?

Excel'de, Farklı Kaydet işleviyle çalışma kitabını CSV dosyasına dönüştürebiliriz, ancak birden çok Excel dosyasını ayrı CSV dosyalarına toplu olarak nasıl dönüştüreceğinizi biliyor musunuz? Bu makalede, bir klasördeki tüm Excel dosyalarını Excel'deki CSV dosyalarına toplu olarak dönüştürmek için bir VBA kodu tanıtıyorum.

Bir klasörün Excel dosyalarını VBA ile CSV dosyalarına toplu olarak dönüştürün

Kutools for Excel ile çalışma kitabı sayfalarını ayrı CSV dosyalarına dönüştürüniyi fikir3


Bir klasörün Excel dosyalarını VBA ile CSV dosyalarına toplu olarak dönüştürün

Excel'de, VBA dışında bu işi hızlı bir şekilde çözebilecek yerleşik bir işlev yoktur.

1. Excel'i etkinleştirin ve Alt + F11 anahtarlar açık Uygulamalar için Microsoft Visual Basic pencere.

2. tık Ekle > modül yeni bir Modül oluşturmak için.

3. Aşağıdaki kodu kopyalayın ve yeni Modül penceresine yapıştırın.

VBA: Excel dosyalarını CSV'ye toplu dönüştürme

Sub WorkbooksSaveAsCsvToFolder()
'UpdatebyExtendoffice20181031
Dim xObjWB As Workbook
Dim xObjWS As Worksheet
Dim xStrEFPath As String
Dim xStrEFFile As String
Dim xObjFD As FileDialog
Dim xObjSFD As FileDialog
Dim xStrSPath As String
Dim xStrCSVFName As String

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
    On Error Resume Next
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
    xObjFD.AllowMultiSelect = False
    xObjFD.Title = "Kutools for Excel - Select a folder which contains Excel files"
    If xObjFD.Show <> -1 Then Exit Sub
    xStrEFPath = xObjFD.SelectedItems(1) & "\"

    Set xObjSFD = Application.FileDialog(msoFileDialogFolderPicker)

    xObjSFD.AllowMultiSelect = False
    xObjSFD.Title = "Kutools for Excel - Select a folder to locate CSV files"
    If xObjSFD.Show <> -1 Then Exit Sub
    xStrSPath = xObjSFD.SelectedItems(1) & "\"

    xStrEFFile = Dir(xStrEFPath & "*.xls*")

    Do While xStrEFFile <> ""
        Set xObjWB = Workbooks.Open(Filename:=xStrEFPath & xStrEFFile)
        xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv"
        xObjWB.SaveAs Filename:=xStrCSVFName, FileFormat:=xlCSV
        xObjWB.Close savechanges:=False
        xStrEFFile = Dir
  Loop
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

4. Basın F5 tuşu, ilk açılan iletişim kutusunda CSV dosyalarına dönüştürmek istediğiniz Excel dosyalarını içeren klasörü seçin.
doc toplu işten csv 1'e

5. tık OK, ardından ikinci açılır iletişim kutusunda, CSV dosyalarının yerleştirileceği klasörü seçin.
doc toplu işten csv 2'e

6. tık OK, şimdi klasördeki Excel dosyaları CSV dosyalarına dönüştürülmüş ve başka bir klasöre kaydedilmiştir.
doc toplu işten csv 3'e


Kutools for Excel ile çalışma kitabı sayfalarını ayrı CSV dosyalarına dönüştürün

Bildiğimiz gibi, tüm çalışma kitabını Excel'de Farklı Kaydet işlevi ile yalnızca tek bir CSV dosyasına dönüştürebiliriz. Ancak bazı durumlarda, tek sayfayı CSV dosyasına dönüştürmek istersiniz, bu durumda Çalışma Kitabını Böl yarar Kutools for Excel size yardımcı olabilir.

Kutools for Excel, ile daha fazla 300 kullanışlı fonksiyonlar, işlerinizi daha kolay hale getirir. 

Kurduktan sonra Kutools for Excel, lütfen aşağıdaki işlemleri yapın:(Şimdi Excel için Kutools'u Ücretsiz İndirin!)

1. Sayfalarını ayrı CSV dosyaları olarak dönüştürmek istediğiniz çalışma kitabını etkinleştirin, Kutools Artı > alıştırma kitabı > Çalışma Kitabını Böl.
doc toplu işten csv 4'e

2. içinde Çalışma Kitabını Böl iletişim kutusunda, bölmek istediğiniz sayfa adını kontrol edin (varsayılan olarak tüm sayfalar kontrol edilir), kontrol edin Olarak kaydet yazın, seçin CSV (Macintosh) (* .CSV) açılır listeden seçin.
doc toplu işten csv 5'e

3. tık Bölünmüş bir Klasöre Göz At iletişim kutusunda, CSV dosyalarını yerleştirmek için bir klasör seçin veya oluşturun.
doc toplu işten csv 6'e

4. tık OK, şimdi çalışma kitabı ayrı CSV dosyaları olarak bölünmüştür.
doc toplu işten csv 7'e


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2019 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay dağıtım. Tam özellikli 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    TBenson85 · 14 days ago
    Hello, is there a quick change to the code that would allow me to change from a CSV UTF-8 (Comma delimited) to just CSV (Comma delimited)? I tried the first method and was hopeful but it seems like it won't change them since they are already in some form of CSV.  Maybe there is an easier process but I can't find anything.  I have to convert maybe 150 files that were saved in this format and I don't want to open every file and Save As if I can avoid it.  Any help is appreciated!
    • To post as a guest, your comment is unpublished.
      TBenson85 · 13 days ago
      So, after reviewing the code a little closer, I saw where the initial file type had to be .xls.  So replacing with .csv has solved the issue.  
  • To post as a guest, your comment is unpublished.
    Jared · 1 months ago
    This is amazing. Thank-you!
  • To post as a guest, your comment is unpublished.
    wilfried · 3 months ago
    top thanks :) 
  • To post as a guest, your comment is unpublished.
    Sen · 1 years ago
    I think it is worth adding better error handling for files with special characters, currently they are simply ignored.
  • To post as a guest, your comment is unpublished.
    Justin · 1 years ago
    Thank you for sharing. I'm trying to save out multiple xls files which contain a unique value, producing a prompt asking yes or no before saving. The prompt reads..

    "Some features in your workbook might be lost if you save it as a CSV (Comma delimited). Do you want to keep using that format?"

    Would someone know where to add the code to answer yes to this prompt?
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    Another small remark:

    If the cells in the original Excel files are all formatted as "General", some accuracy is lost when the file is saved as a CSV
    For example, if a cell value in Excel is 0.123456789123456, then the value in the CSV will be 0.123456789 (missing the remaining decimals), as long as the cell was formatted as 'General'. This can be solved by formatting all cells in the Excel file to anything else than 'General' (for example, 'Text'). In that case, the CSV *will* still have the full detail/accuracy. I.e. the values in the Excel files will be fully intact after saving as a CSV.

    How could this macro be changes, so it sets the formatting of all cells in the Excel file to 'Text', before saving as a CSV?
    I imagine that it must somehow make use of the following, but I can't figure out how to correctly include in within the macro:

    Cells.Select
    Selection.NumberFormat = "@"
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    Works great, thanks for the code!
    My only remark would be that this code cuts of file names when there is a "." in the filename itself (e.g. file.123.csv turns into file.csv).
    • To post as a guest, your comment is unpublished.
      Carol · 1 years ago
      Have you found a way around this issue?
      • To post as a guest, your comment is unpublished.
        Clara · 1 years ago
        Carol,

        On line 33 I've replaced this code:

        xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv"

        With this code:

        xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".xlsx") - 1) & ".csv"

        Note that if you're using some other excel extension (.xls, .xlsm, etc.) you should change it as such :)
        • To post as a guest, your comment is unpublished.
          Sonya · 1 years ago
          Thank you so much! This has saved me so much time!!
  • To post as a guest, your comment is unpublished.
    Aman · 2 years ago
    Ty it really works dear !!