Note: The other languages of the website are Google-translated. Back to English

Excel'de birden çok csv / text / xml dosyasını hızlı bir şekilde toplu olarak nasıl içe aktarabilirim?

Excel'de, bir çalışma kitabını csv dosyası, metin dosyası veya xml dosyası olarak kaydetmeyi bağlamış olabilirsiniz, ancak daha önce bir klasörden birden çok csv / text / xml dosyasını bir çalışma kitabına veya çalışma sayfasına aktarmayı denediniz mi? Bu makalede, bunları hızlı bir şekilde toplu olarak içe aktarmak için bazı yöntemler tanıtıyorum.

Bir klasördeki birden çok metin dosyasını VBA ile bir çalışma kitabının her çalışma sayfasına aktarın

VBA ile bir klasörden birden çok csv dosyasını tek bir sayfaya aktarın

VBA ile bir klasörden birden çok xml dosyasını tek bir sayfaya aktarın

Kutools for Excel ile birden çok xml / csv dosyasını bir sayfaya veya çalışma kitabına içe aktarın veya birleştirin iyi fikir3

Kutools for Excel ile her sayfayı csv / text / pdf olarak bir klasöre aktarıniyi fikir3


Metin dosyalarını bir klasörden bir çalışma kitabına aktarmak için, hızlı bir şekilde işlemek için aşağıdaki VBA'yı kullanabilirsiniz.

1. Boş bir çalışma kitabını etkinleştirin ve Alt + F11 açmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

2. tık Ekle > modülve VBA'yı modül pencere.

VBA: Tüm metin dosyalarını bir klasörden bir çalışma kitabına aktarın

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. Basın F5 anahtar veya koşmak VBA'yı çalıştırmak için düğmesine basın ve açılan iletişim kutusundan metin dosyalarını içe aktarmak istediğiniz klasörü seçin. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 1 içe aktar

4. Ve tıklayın OKve seçili klasördeki her metin dosyası etkin çalışma kitabının bir çalışma sayfasına aktarılmıştır. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 2 içe aktardoc birden çok csv metnini xml 3 içe aktar

Birden çok sayfayı / Çalışma kitabını tek bir sayfaya veya Çalışma Kitabına kolayca birleştirin

Çoklu sayfaları veya çalışma kitaplarını tek bir sayfaya veya çalışma kitabına birleştirmek, Excel'de baştan sona olabilir, ancak Birleştirmek Kutools for Excel'de işlev, düzinelerce sayfayı / çalışma kitabını bir sayfaya veya çalışma kitabına birleştirebilir, ayrıca sayfaları yalnızca birkaç tıklamayla tek tek birleştirebilirsiniz.  Tam özellikli için tıklayın 30 gün ücretsiz deneme!
sayfaları birleştirmek
 
Kutools for Excel: 300'den fazla kullanışlı Excel eklentisi ile, hiçbir sınırlama olmadan denemesi ücretsiz 30 gün.

Tüm csv dosyalarını bir klasörden tek bir sayfaya aktarmak için aşağıdaki VBA kodunu kullanabilirsiniz.

1. Boş bir çalışma sayfasını etkinleştirin ve Alt + F11 açmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

2. tık Ekle > modülve VBA'nın altına yeni modül pencere.

VBA: Bir klasörden csv dosyalarını tek bir çalışma sayfasına aktarın

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. Basın F5 anahtar veya tıklama koşmak düğmesi VBA'yı yürütmek için ve tüm csv dosyalarını içe aktarmak istediğiniz klasörü seçmek için bir iletişim kutusu açılır. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 4 içe aktar

4. tık OKve içe aktarmadan önce aktif çalışma sayfasının içeriğini temizleyip temizlemediğinizi size hatırlatmak için bir iletişim kutusu açılır, buraya tıklıyorum Evet. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 5 içe aktar

tıkladıktan sonra Evetseçili klasördeki tüm csv dosyaları geçerli sayfaya aktarılır ve verileri Sütun A'dan sağa yerleştirir. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 6 içe aktardoc birden çok csv metnini xml 7 içe aktar

Bahşiş: Csv dosyalarını bir çalışma sayfasına yatay olarak yerleştirmek istiyorsanız, aşağıdaki VBA'yı kullanabilirsiniz.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc birden çok csv metnini xml 8 içe aktar


Tüm XML dosyalarını bir klasörden tek bir sayfaya aktarmak istiyorsanız, aşağıdaki VBA kodunu kullanabilirsiniz.

1. İçe aktarılan verileri yerleştirmek istediğiniz boş bir sayfa seçin ve Alt + F11 etkinleştirmek için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

2. tık Ekle > modül, VBA kodunu şuraya yapıştırın: modül pencere.

VBA: XML dosyalarını bir klasörden çalışma sayfasına aktarın.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. tık koşmak düğmesi veya F5 VBA'yı çalıştırmak için anahtar ve açılan iletişim kutusunda bir klasör seçin, ekran görüntüsüne bakın:

doc birden çok csv metnini xml 9 içe aktar

4. tık OKve seçilen klasördeki tüm XML dosyaları etkin sayfaya aktarılır.


VBA'ya aşina değilseniz, endişelenmeyin, burada kullanışlı bir araç sunuyorum - Kutools for Excel senin için. Güçlü Birleştirmek yardımcı programda, birden çok xml dosyasını veya csv dosyasını bir çalışma kitabında veya bir Excel sayfasında hızla birleştirebilirsiniz.

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. Excel'i etkinleştirin ve tıklayın Kutools Artı > Birleştirmek. Ekran görüntüsüne bakın :
doc birleştir 1

2. Ve Birleştirmenin 1. adımı iletişim kutusunda ihtiyacınız olan bir ayırma seçeneği seçin. Ekran görüntüsüne bakın:
doc birleştir 2

3. tık Sonraki gitmek için Birleştirmenin 2. adımıtık Ekle çeşitli klasörlerden veya dosyalardan bir klasörden dosya eklemek için alıştırma kitabı listesinden birleştirmek istediğiniz sayfaları da belirtebilirsiniz. Çalışma Sayfası sağ bölüm listesi. Ekran görüntüsüne bakın:
doc kutools sayfaları birleştirir 3

4. tık Sonraki son bir adımına Birleştirmekve birleştirme seçeneklerini belirtebilirsiniz.
doc kutools sayfaları birleştirir 4

5. tık Bitiş, yeni birleştirilmiş sonucu kaydetmek için bir konum seçmenizi hatırlatan bir iletişim kutusu açılır. Ekran görüntüsüne bakın:
doc birleştir 5

6. tık İndirim. Tüm ek sayfalar yeni bir tek sayfada birleştirildi.
doc birleştir 6

Bahşiş: İle Birleştirmek, ayrıca birden çok CSV dosyaları tek bir sayfaya veya çalışma kitabına birden çok klasör veya bir klasör oluşturun.


Her sayfayı csv / text / pdf dosyası olarak bir klasöre aktarmak istiyorsanız, Kutools for Excel'S Çalışma Kitabını Böl yardımcı program sizin için bir iyilik yapabilir.

Sonra ücretsiz kurulum Kutools for Excel, lütfen aşağıdaki işlemleri yapın:

1. Çalışma sayfalarını dışa aktarmak istediğiniz çalışma kitabını etkinleştirin ve Kutools Artı > alıştırma kitabı > Çalışma Kitabını Böl. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 10 içe aktar

2. içinde Çalışma Kitabını Böl iletişim kutusu, dışa aktarmanız gereken sayfa adlarını kontrol edebilirsiniz, varsayılan olarak tüm sayfalar kontrol edilir ve Kaydetme formatını belirtin ve aşağıdaki açılır listeden kaydetmek istediğiniz dosya formatını seçin. Ekran görüntüsüne bakın:

doc birden çok csv metnini xml 11 içe aktar

3. tık Bölünmüş ve bölünmüş dosyaların kaydedileceği bir klasör seçin. Klasöre Göz At iletişim kutusu, ekran görüntüsüne bakın:

doc birden çok csv metnini xml 12 içe aktar

4. tık OK, şimdi tüm işaretli sayfalar seçilen klasörde yeni dosya formatı olarak dışa aktarılır.


İlgili Makaleler:


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-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 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ı
Yorumları sıralama ölçütü
Yorumlar (36)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bu kod örnekleri için çok teşekkür ederim! İlki (VBA: Bir klasördeki tüm metin dosyalarını bir çalışma kitabına aktarın) neredeyse tam olarak ihtiyacım olan şey. Ancak, herhangi bir klasördeki tüm metin dosyalarının otomatik olarak içe aktarılmamasını ve hangi dosyaların içe aktarılacağını seçmek istiyorum. Ayrıca hedef sayfalarımın mevcut içeriğinin üzerine metin dosyalarının içeriğinin yazılmasını istiyorum. (Yukarıdaki kod ile mevcut içerikler değiştirilmek yerine sağa kaydırılır.) Bunu nasıl yapabilirim? Şimdiden teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, "Bir Klasörden Birden Çok Xml Dosyasını VBA ile Tek Bir Sayfaya İçe Aktar" için VBA kodunu anlamak istiyorum. 1. Neden 2 yerine 1 çalışma kitabı gerekiyor? 2. Excel'e birçok xml dosyasını yüklemek biraz zaman alıyor, bu yüzden daha verimli bir kod var mı? Kodunuzun ne zaman çalıştırıldığını fark ettiğim için, yavaşlamaya neden olan birçok VBA çalışma kitabı oluşturuldu. Anlamama yardımcı olabilirseniz gerçekten minnettar olurum!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Kusura bakmayın ilk sorunuzu anlamadım ve ikincisi hakkında daha verimli kod bulamadım, biliyorsanız lütfen bana bir not bırakın, teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bir sonraki kullanılabilir satırda (yatay değil) "Birden çok .txt dosyasını bir klasörden VBA ile tek bir sayfaya içe aktarma" için VBA kodunu anlamak istiyorum. Lütfen yardım edin acil
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, tüm txt dosyalarını bir klasörden tek bir sayfaya aktarmak istiyorsanız, önce txt dosyalarını bir çalışma kitabına aktarmak için yukarıdaki vba kodunu kullanabilir, ardından Kutools for Excel's Bir çalışma kitabının tüm sayfalarını birleştirmek için Çalışma Sayfalarını Birleştir özelliği bir sayfa, ardından bir sayfadaki txt dosyaları. Umarım size yardımcı olur.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bununla ilgili sorun, VBA komutunun veya Kutools'un csv dosyalarını karakter kodu biçimlendirmesiyle içe aktarmasına izin vermesidir. Önyükleme batıdır. Tüm csv dosyalarını unicode-8 olarak almam gerekiyor
Bu yorum sitedeki moderatör tarafından en aza indirildi
txt dosyalarından dönüştürme kodu benim için çalışmadı.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Üzgünüz, bu makale sizin için çalışmıyor. Sorununuzu tarif edebilir misiniz? Kodu çalıştırırken ne olur? Ve hangi sistemle çalışıyorsun?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba! "Csv dosyalarını bir klasörden tek bir çalışma sayfasına aktar" kodu benim için çalışıyor! Ancak bu kod, boş bir .txt dosyası için çalışmaz. Boş dosyaları da saklamanın bir yolu var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Üzgünüm, neden boş bir txt.file almam gerektiğini bilmiyorum~İçeriği ayırmak için boş satırlar eklemeniz yeterli.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Mike: "txt dosyalarından dönüştürme kodu benim için çalışmadı."

Ben de aynı sorunu yaşadım. Çalışma kitabınızdaki çalışma sayfalarından daha fazla txt dosyanız varsa makro hataları çıkıyor (varsayılan 3).
Döngü çıkmadan hemen önce aşağıdakini ekleyerek düzelttim, böylece makro geri kalanından sonra yeni bir sayfa oluşturur
ActiveWorkbook.Sheets.Sonra Ekle:=Çalışma Sayfaları(Çalışma Sayfaları.Sayı)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çad, Bu, birden fazla metin dosyasını içe aktarmam için mükemmel bir şekilde çalıştı. Teşekkür ederim.

Dosya adlarını çekmenin bir yolu olup olmadığını biliyor musunuz? Metin dosyası adlarının her bir excel sayfası sekmesine kopyalanmasını istiyorum.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tamamen harika! Tüm csv dosyalarını tek bir çalışma sayfasında açmayı denedim ve çok güzel çalıştı. Çok teşekkürler, gerçekten!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, .xml kodunu çalıştırmayı denedim ve "xml dosyası yok" mesajını aldığım için işe yaramadı. Bunu nasıl düzeltirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Seçtiğiniz klasör xml dosyalarını içermezken, "xml dosyası yok" mesajı görüntülenecektir. Etkin sayfaya aktarmak için kodu çalıştırdıktan sonra açılan iletişim kutusunda xml dosyalarını içeren doğru klasörü seçebilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
İşe yaradı! Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, saya mau tanya kalo ithalat txt dosyası ke satu sayfası gimana ya?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba rendy, tüm metinleri bir sayfaya mı yoksa her bir metni her bir sayfaya mı aktarmak istersin?
Bu yorum sitedeki moderatör tarafından en aza indirildi
txt'leri sayfalara aktarmak için kodum var, her txt'yi her sayfaya, ancak her txt'nin adıyla sayfaya aktarılmasını istiyorum, demek istediğim, içe aktarılan her sayfayı, ekli kod dosyasının txt adıyla yeniden adlandırmak .. bunu düzenlemek istiyorum txts adıyla sayfaları yeniden adlandırmak için kod eklemek için dosya ... teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
txt'leri sayfalara aktarmak için kodum var, her txt'yi her sayfaya, ancak her txt'nin adıyla sayfaya aktarılmasını istiyorum, demek istediğim, içe aktarılan her sayfayı, ekli kod dosyasının txt adıyla yeniden adlandırın .. teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Ramy, zahran, metin dosyalarını içe aktarabilen ve sayfa adını metin dosyası adına yeniden adlandırabilen aşağıdaki kodu deneyebilirsiniz.
Alt LoadPipeDelimitedFiles()
'güncellemeExtendoffice20180925
Dize Olarak xStrPath'i Dim
FileDialog Olarak xFileDialog Dim
Dize Olarak xFile Dim
xCount Uzunluğunu Azalt
Çalışma Sayfası Olarak Dim xWS

Hatada ErrHandler'a Git
xFileDialog = Application.FileDialog(msoFileDialogFolderPicker) olarak ayarlayın
xFileDialog.AllowMultiSelect = Yanlış
xFileDialog.title = "Bir klasör seçin [Kutools for Excel]"
xFileDialog.Show = -1 ise
xStrPath = xFileDialog.SelectedItems(1)
Eğer son
xStrPath = "" ise, Sub'dan Çıkın
Application.ScreenUpdating = Yanlış
xFile = Dir(xStrPath & "\*.txt")
xFile Yaparken <> ""
xCount = xCount + 1
xWS'yi ayarla = Sayfalar(xCount)
xWS.Seç
xWS.Name = "METİN" & Sol(xFile, Len(xFile) - 4)
ActiveSheet.QueryTables.Add(Connection:="TEXT;" ile _
& xStrPath & "\" & xFile, Destination:=Range("A1"))
.Ad = "a" ve xCount
.FieldNames = Doğru
.RowNumbers = Yanlış
.FillAdjacentFormüller = Yanlış
.PreserveFormatting = Doğru
.RefreshOnFileOpen = Yanlış
.RefreshStyle = xlInsertDeleteCells
.SavePassword = Yanlış
.SaveData = Doğru
.AdjustColumnWidth = Doğru
.YenilemePeriyodu = 0
.TextFilePromptOnRefresh = Yanlış
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlSınırlandırılmış
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveSınırlayıcı = Yanlış
.TextFileTabDelimiter = Yanlış
.TextFileSemicolonDelimiter = Yanlış
.TextFileCommaDelimiter = Yanlış
.TextFileSpaceDelimiter = Yanlış
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Dizi(1, 1, 1)
.TextFileTrailingMinusNumbers = Doğru
.Refresh BackgroundQuery:=Yanlış
xDosya = Yön
İle bitmek
döngü
Application.ScreenUpdating = True
Exit Sub
Hata İşleyicisi:
MsgBox "dosya yok txt", "Kutools for Excel"
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba! Kodu, birden çok XML dosyasını bir dosyada birleştirmek için kullandım, ancak ne yazık ki sütunlar karıştı. Birleştirilen 5 dosyanın tümü aynı biçime sahipti. Bunu düzeltmek için yine de var mı? Ayrıca dosyalar birleştirildiğinde çoğaltılan başlıklardan kurtulmanın bir yolu olup olmadığını merak ediyordum. Teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Teşekkür ederim. Bu sitenin büyük yardımı oldu. Çözemediğim bir sorunum var. Birden çok csv dosyasını excel'de ayrı bir excel sayfasına aktarmaya çalışıyorum ve her sayfanın csv dosyasının dosya adından sonra yeniden adlandırılmasını sağlıyorum. Bunun bir txt dosyası için aşağıda ele alındığını biliyorum ama csv dosyalarıyla çalışıyorum. Şimdiden teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba - Tüm csv dosyalarını yukarıda listelenen tek bir dosyaya içe aktarmayı kullanıyorum "Bir Klasörden VBA ile Tek Bir Sayfaya Birden Çok Csv Dosyasını İçe Aktar" - manuel olarak seçmek zorunda kalmadan verileri topladığı klasörü tanımlamak istiyorum O. Bu yapılabilir mi? teşekkürler - SW.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Scott W, size yardımcı olabilecek bir VBA kodu buldum.
Seçenek Açıkça

Alt ImportCSVsWithReference()
Yazar: Jerry Beaucaire
'Tarih: 10/16/2010
'Özet: Bir klasördeki tüm CSV dosyalarını tek bir sayfaya aktarın
' A sütununa CSV dosya adlarını listeleyen bir alan ekleme

Çalışma kitabı olarak wbCSV'yi karart
Dim wsMstr Çalışma Sayfası Olarak: wsMstr = ThisWorkbook.Sheets("Sayfa1") olarak ayarlayın
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'CSV dosyalarının yolu, son \
Dize olarak fCSV'yi karart

If MsgBox("İçe aktarmadan önce mevcut sayfa silinsin mi?", vbYesNo, "Temizle mi?") _
= vbYes Sonra wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'makroyu hızlandır

fCSV = Dir(fPath & "*.csv") 'CSV dosya listesini başlat

Len(fCSV) > 0 iken Yap
'bir CSV dosyası aç
wbCSV = Workbooks.Open(fPath & fCSV) olarak ayarlayın
'sütun A'yı ekleyin ve CSV adını ekleyin
Sütunlar(1).Insert xlShiftToRight
Sütunlar(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'tarihi ana sayfaya kopyala ve kaynak dosyayı kapat
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Kapat Yanlış
'bir sonraki CSV'ye hazır
fCSV = Yön
döngü

Application.ScreenUpdating = True
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Yinelenen başlık ve CSV dosya adı sütunu nasıl ortadan kaldırılır. Lütfen yardım edin....Birkaç makaleyi inceledim ama ne yazık ki hepsi aynı sonucu veriyor.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba - Birden fazla CSV dosyasından verileri excel dosyasına (bu sayfadaki kod) çıkarmak ve csv dosyalarını excel dosyalarına dönüştürmek için VBA kodlarınızı kullandım (bu: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), harika sonuçlarla. Çok zaman kazanmama yardımcı oldular.

Ancak, bu kod türlerinin her ikisinde de ortak bir sorun olduğunu fark ettim. Açıklığa kavuşturmak gerekirse, sistemim tarihler için Avrupa standartlarını kullanacak şekilde kuruluyken, işim için aldığım bazı CSV dosyaları ABD standartlarında tarihler içeriyor. İlk sorun, ABD biçiminde tarihler içeren bir CSV dosyasından veri ayıkladığımda veya dönüştürdüğümde, bu tarihlerin tümü tersine çevriliyor (sistemim tarafından kullanılan AB standartlarıyla eşleşiyor). Bu harika ama aynı zamanda kodların benim için tarihleri ​​tersine çevireceğini bilmediğim için bana sıkıntılara neden oldu, bu yüzden devam ettim ve aynı şeyi tekrar yaptım. İkinci sorun, sistemim tarafından kullanılan formatla (AB standartları) aynı formatta zaten tarihler içeren CSV dosyaları için yalnızca belirsiz tarihlerin tersine çevrilmesidir (ör. 04/05/2019 - 05/04/2019), çok açık olanlar değişmeden kalır (ör. 30/04/2019).

Kodların yapmasını istediğim şey, burada gösterilenlerle tamamen aynı şey, yalnızca verileri (özellikle tarihleri) orijinal dosyalarda kullanılan tam biçimlerde kopyalayıp yapıştırmaları gerektiği. Bu, olası karışıklıkları ve hataları önlemeye yardımcı olacaktır. Bir gün kendi kodlarımı yazabilmek için VBA öğrenmek istiyorum, ancak şimdilik mevcut kodların bazı bölümlerini ihtiyaçlarıma göre değiştiremiyorum. Bu yüzden, yardımcı olabilirseniz, lütfen bana değiştirilmiş kodları (geldiğiniz) mevcut kodlara nereye koymam gerektiğini söyleyin. Alabileceğim tüm geri bildirimleri ve desteği takdir ediyorum. Hepinize teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Marshall, Workbooks.Open yönteminde Local:=True seçeneğini ekleyin.

yani
xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True) olarak ayarlayın
Bu yorum sitedeki moderatör tarafından en aza indirildi
Robert'a çok teşekkür ederim. Üzgünüm sana daha önce cevap veremedim. Şu ana kadar herhangi bir bildirim almadım. Bunu deneyeceğim ve bunun işe yarayıp yaramadığını size bildirmek için daha sonra size geri döneceğim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Robert,
Yine ben. "Local:True" bölümünün kodun hangi bölümüne eklenmesi gerektiğini gerçekten anlamam biraz zaman aldı. Tarihler artık tersine çevrilmediği için sonuç harika çıktı. Teşekkür ederim!
Aynı sorunu yaşayanlar için şu satırı değiştirmen yeterli:
xWb = Workbooks.OpenXML(xStrPath & "\" & xFile) olarak ayarlayın

Buna:
xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True) olarak ayarlayın
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, ayırıcı olarak noktalı virgülle birden çok csv dosyasını içe aktarmanın bir yolu var mı? Teşekkür ederim!
PS Güzel makale!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Takımı

Birden çok XML dosyasını VBA ile tek bir sayfaya içe aktarmak için kodu kullanıyorum, ancak karşılaştığım sorun, satır sayısı yaklaşık 650000'e ulaştığında, klasördeki xml dosyalarının geri kalanını işlemez ve hiçbir xml dosyası olmadığını belirten bir hata verir. . Bu sayıyı artırmak için desteğinize ihtiyacım var.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Uzmanlar

VBA kullanarak birden çok xml dosyasını 1 çalışma sayfasına aktarmak için yukarıdaki kodu kullanıyorum, ancak karşılaştığım sorun, bir çalışma sayfasında satır sayısı 650000'e ulaştığında, bu kod klasördeki xml dosyalarının geri kalanını işlemez. "files.xml yok" hatası veriyor. Nazik desteğinizi talep edin
Bu yorum sitedeki moderatör tarafından en aza indirildi
MerhabaBir excel belgesinin bir sekmesine birden çok xml içe aktarma talimatları işe yarıyor ancak sütunları nasıl hizalayacağını merak ediyordum. Benim xml'lerimin hepsi aynı etiketlere sahip değil. Eğer xml'de bazı başlıklar(etiketler) için veri yoksa, o zaman başlık o xml'den eksik olacak şekilde kurulurlar. Her xml'den ve ilişkili verilerden gelen aynı başlıkların aynı excel sütununa düşmesi için xml'lerin içe aktarılmasını sağlamanın bir yolu var mı?
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır