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

Como importar rapidamente vários arquivos csv / text / xml no Excel?

No Excel, você pode ter vinculado a salvar uma pasta de trabalho como arquivo csv, arquivo de texto ou arquivo xml, mas você já tentou importar vários arquivos csv / text / xml de uma pasta para uma pasta de trabalho ou planilha? Neste artigo, apresento alguns métodos para importá-los em lote rapidamente.

Importe vários arquivos de texto de uma pasta para cada planilha de uma pasta de trabalho com o VBA

Importe vários arquivos csv de uma pasta para uma única folha com VBA

Importe vários arquivos xml de uma pasta para uma única folha com VBA

Importe ou combine vários arquivos xml / csv em uma planilha ou pasta de trabalho com o Kutools para Excel boa ideia 3

Exporte cada folha como csv / text / pdf para uma pasta com o Kutools para Excelboa ideia 3


Para importar arquivos de texto de uma pasta para uma pasta de trabalho, você pode usar o VBA abaixo para lidar com isso rapidamente.

1. Habilite uma pasta de trabalho em branco e pressione Alt + F11 chaves para abrir Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o VBA no Módulo janela.

VBA: importar todos os arquivos de texto de uma pasta para uma pasta de trabalho

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. Pressione F5 chave ou Opere para executar o VBA e selecione uma pasta da qual deseja importar os arquivos de texto na caixa de diálogo pop-up. Veja a imagem:

doc importar vários textos csv xml 1

4. E clique OK, e cada arquivo de texto na pasta selecionada foi importado para uma planilha da pasta de trabalho ativa. Veja a imagem:

doc importar vários textos csv xml 2doc importar vários textos csv xml 3

Combine facilmente várias folhas / pasta de trabalho em uma única folha ou pasta de trabalho

Combinar múltiplas planilhas ou pastas de trabalho em uma folha ou pasta de trabalho pode ser complicado no Excel, mas com o Combinar No Kutools para Excel, você pode combinar dezenas de planilhas / pastas de trabalho em uma única planilha ou pasta de trabalho, além disso, você pode consolidar as planilhas em uma com vários cliques apenas.  Clique para recursos completos 30 dias de teste grátis!
combinar folhas
 
Kutools for Excel: com mais de 300 suplementos práticos do Excel, grátis para experimentar sem limitação em 30 dias.

Para importar todos os arquivos csv de uma pasta em uma única planilha, você pode usar o código VBA abaixo.

1. Ative uma planilha em branco e pressione Alt + F11 chaves para abrir Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole abaixo do VBA no novo Módulo janela.

VBA: importar arquivos csv de uma pasta para uma planilha

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. Pressione F5 tecla ou clique Opere para executar o VBA e uma caixa de diálogo é exibida para selecionar uma pasta da qual você deseja importar todos os arquivos csv. Veja a imagem:

doc importar vários textos csv xml 4

4. Clique OK, e uma caixa de diálogo aparece para lembrá-lo se limpar o conteúdo da planilha ativa antes de importar, aqui eu clico Sim. Veja a imagem:

doc importar vários textos csv xml 5

Depois de clicar Sim, todos os arquivos csv na pasta selecionada são importados para a planilha atual e colocam os dados da Coluna A à direita. Veja a imagem:

doc importar vários textos csv xml 6doc importar vários textos csv xml 7

Dica: Se você deseja colocar arquivos csv horizontalmente em uma planilha, você pode usar o VBA abaixo.

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 importar vários textos csv xml 8


Se você deseja importar todos os arquivos XML de uma pasta para uma única planilha, pode usar o código VBA abaixo.

1. Selecione uma folha em branco onde deseja colocar os dados importados e pressione Alt + F11 chaves para habilitar Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Módulo, cole o código VBA no Módulo janela.

VBA: Importar arquivos XML de uma pasta para uma planilha.

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. Clique Opere botão ou F5 para executar o VBA e selecionar uma pasta na caixa de diálogo popping, veja a captura de tela:

doc importar vários textos csv xml 9

4. Clique OK, e todos os arquivos XML na pasta selecionada são importados para a planilha ativa.


Se você não está familiarizado com o VBA, preocupe-se, aqui apresento uma ferramenta útil - Kutools for Excel para voce. Com seu poderoso Combinar utilitário, você pode combinar rapidamente vários arquivos xml ou arquivos csv em uma pasta de trabalho ou uma planilha do Excel.

Kutools for Excel, com mais de 300 funções úteis, tornam seus trabalhos mais fáceis. 

Depois de instalar Kutools para Excel, faça o seguinte:(Baixe agora o Kutools para Excel gratuitamente!)

1. Active o Excel e clique em Kutools Plus > Combinar. Veja a captura de tela:
doc combinar 1

2. E no passo 1 de combinar caixa de diálogo, escolha uma opção de separação conforme necessário. Veja a imagem:
doc combinar 2

3. Clique Seguinte para ir para passo 2 do Combine, clique em Adicionar para adicionar arquivos de várias pastas ou arquivos de uma pasta para livro lista, e também você pode especificar as folhas que deseja combinar Planilha lista da seção certa. Veja a imagem:
doc kutools combinar folhas 3

4. Clique Seguinte para a última etapa de Combinar, e você pode especificar as opções de combinação.
doc kutools combinar folhas 4

5. Clique Acabamento, uma caixa de diálogo aparecerá para lembrá-lo de selecionar um local para salvar o novo resultado combinado. Veja a imagem:
doc combinar 5

6. Clique Salvar. Todas as folhas de adição foram combinadas em uma nova folha única.
doc combinar 6

Dica: Com a Combinar, você também pode combinar vários Arquivos CSV formar várias pastas ou uma pasta em uma planilha ou pasta de trabalho.


Se você deseja exportar cada folha como arquivo csv / texto / pdf para uma pasta, Kutools for Excel'S Dividir a pasta de trabalho utilitário pode fazer um favor para você.

Depois de instalação grátis Kutools para Excel, faça o seguinte:

1. Habilite a pasta de trabalho que deseja exportar suas planilhas e clique em Kutools Plus > livro > Dividir a pasta de trabalho. Veja a imagem:

doc importar vários textos csv xml 10

2. No Dividir a pasta de trabalho caixa de diálogo, você pode verificar os nomes das folhas que você precisa exportar, por padrão, todas as folhas são verificadas e verifique Especifique o formato de salvamento e selecione o formato de arquivo que deseja salvar na lista suspensa abaixo. Veja a imagem:

doc importar vários textos csv xml 11

3. Clique Split e selecione uma pasta para salvar os arquivos divididos no Navegar pela pasta caixa de diálogo, veja a captura de tela:

doc importar vários textos csv xml 12

4. Clique OK, agora todas as folhas marcadas são exportadas como novo formato de arquivo na pasta selecionada.


Artigos relativos:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (36)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Olá, muito obrigado por esses exemplos de código! O primeiro (VBA: Importar todos os arquivos de texto de uma pasta para uma pasta de trabalho) é quase exatamente o que eu preciso. Eu gostaria, no entanto, de selecionar quais arquivos importar e não importar automaticamente todos os arquivos de texto em uma determinada pasta. Eu também gostaria que o conteúdo de saída das minhas planilhas de destino fosse substituído pelo conteúdo dos arquivos de texto. (Com o código acima, o conteúdo existente é deslocado para a direita em vez de ser substituído.) Como faço isso? Desde já, obrigado!
Este comentário foi feito pelo moderador no site
Oi, eu gostaria de entender sobre o código VBA para "Importar vários arquivos Xml de uma pasta em uma única planilha com VBA". 1. Por que são necessárias 2 pastas de trabalho em vez de 1? 2. Está demorando um pouco para carregar muitos arquivos xml no Excel, então existe um código mais eficiente? Porque eu percebo quando seu código foi executado, muitas pastas de trabalho VBA são criadas, o que causou a desaceleração. Agradeço muito se puder me ajudar a entender!
Este comentário foi feito pelo moderador no site
Desculpe, eu não entendi sua primeira pergunta, e sobre a segunda, o código mais eficiente, eu não encontrei, se você souber, por favor, deixe uma nota para mim, obrigado.
Este comentário foi feito pelo moderador no site
Oi, eu gostaria de entender sobre o código VBA para "Importar vários arquivos .txt de uma pasta para uma única planilha com VBA" pela próxima linha disponível (não horizontal). Por favor ajude, urgente
Este comentário foi feito pelo moderador no site
Olá, se você deseja importar todos os arquivos txt de uma pasta para uma única planilha, você pode usar o código vba acima para importar arquivos txt para uma pasta de trabalho primeiro e, em seguida, aplicar o recurso Combinar planilhas do Kutools for Excel para combinar todas as planilhas de uma pasta de trabalho para uma planilha e, em seguida, os arquivos txt em uma planilha. Espero que ajude vc.
Este comentário foi feito pelo moderador no site
O problema com isso é que o comando VBA nem o Kutools permitem importar os arquivos csv com formatação de código de caractere. A pré-carga é ocidental. Eu preciso importar todos os arquivos csv como unicode-8
Este comentário foi feito pelo moderador no site
o código para converter de arquivos txt não funcionou para mim.
Este comentário foi feito pelo moderador no site
Desculpe, este artigo não funciona para você. Você poderia descrever seu problema? O que acontece durante a execução do código? E qual sistema você trabalha?
Este comentário foi feito pelo moderador no site
Oi! O código "Importar arquivos csv de uma pasta para uma planilha" funciona para mim! Mas esse código não funciona para um arquivo .txt vazio. Existe alguma maneira de manter também os arquivos vazios?
Este comentário foi feito pelo moderador no site
Desculpe, não sei por que preciso importar um arquivo txt.vazio ~ Basta inserir linhas em branco para separar o conteúdo.
Este comentário foi feito pelo moderador no site
Mike: "o código para converter de arquivos txt não funcionou para mim."

Eu tive o mesmo problema. A macro falha se você tiver mais arquivos txt para abrir do que planilhas em sua pasta de trabalho (o padrão é 3).
Eu consertei adicionando o seguinte antes do loop sair para que a macro crie uma nova planilha após o resto
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Este comentário foi feito pelo moderador no site
Chad, Isso funcionou perfeitamente para eu importar vários arquivos de texto. Obrigada.

Você sabe se existe uma maneira de puxar os nomes dos arquivos? Eu quero os nomes dos arquivos de texto copiados em cada guia de planilha do Excel.
Este comentário foi feito pelo moderador no site
Totalmente maravilhoso! Tentei abrir todos os arquivos csv em uma planilha e funcionou lindamente. Muito obrigado, de verdade!
Este comentário foi feito pelo moderador no site
Olá, tentei executar o código para .xml e não funcionou, pois recebi a mensagem "no files xml". Como corrigir isso?
Este comentário foi feito pelo moderador no site
Aparecerá uma mensagem "sem arquivos xml" enquanto a pasta selecionada não contém os arquivos xml. Você pode selecionar a pasta correta que contém arquivos xml na caixa de diálogo popping depois de executar o código para importá-los para a planilha ativa.
Este comentário foi feito pelo moderador no site
Funcionou! obrigado
Este comentário foi feito pelo moderador no site
Olá, saya mau tanya kalo arquivo txt importado ke satu sheet gimana ya?
Este comentário foi feito pelo moderador no site
Olá, Rendy, você gostaria de importar todos os txts para uma planilha ou cada txt para cada planilha?
Este comentário foi feito pelo moderador no site
eu tenho código para importar txts para planilhas cada txt para cada planilha, mas eu quero que todo txt seja importado com seu nome para planilha, quero dizer renomear cada planilha importada com o nome do txt o arquivo de código anexado .. eu quero editar isso arquivo para adicionar código para renomear planilhas com nome de txts ... obrigado.
Este comentário foi feito pelo moderador no site
eu tenho código para importar txts para planilhas cada txt para cada planilha, mas quero que todo txt seja importado com seu nome para planilha, quero dizer renomear cada planilha importada com o nome do txt o arquivo de código anexado .. obrigado
Este comentário foi feito pelo moderador no site
Olá, Ramy, zahran, você pode tentar o código abaixo que pode importar os arquivos de texto e renomear o nome da planilha para o nome do arquivo de texto.
Sub LoadPipeDelimitedFiles()
'Atualizar porExtendoffice20180925
Dim xStrPath como String
Dim xFileDialog como FileDialog
Dim xArquivo como String
Escurecer xCount As Long
Dim xWS como planilha

Em caso de erro Ir para ErrHandler
Definir xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = Falso
xFileDialog.title = "Selecione uma pasta [Kutools for Excel]"
Se xFileDialog.Show = -1 Então
xStrPath = xFileDialog.SelectedItems(1)
Se acabar
If xStrPath = "" Então Exit Sub
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Faça While xFile <> ""
xContagem = xContagem + 1
Definir xWS = Sheets(xCount)
xWS.Selecionar
xWS.Name = "TEXT " & Left(xFile, Len(xFile) - 4)
Com ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destino:=Range("A1"))
.Name = "a" & xCount
.FieldNames = Verdadeiro
.RowNumbers = Falso
.FillAdjacentFormulas = Falso
.PreserveFormatting = Verdadeiro
.RefreshOnFileOpen = Falso
.RefreshStyle = xlInsertDeleteCells
.SavePassword = Falso
.SaveData = Verdadeiro
.AdjustColumnWidth = Verdadeiro
.AtualizarPeríodo = 0
.TextFilePromptOnRefresh = Falso
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimitado
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = Falso
.TextFileTabDelimiter = Falso
.TextFileSemicolonDelimiter = Falso
.TextFileCommaDelimiter = Falso
.TextFileSpaceDelimiter = Falso
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = Verdadeiro
.Atualizar BackgroundQuery:=False
xArquivo = Dir
Terminar com
laço
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "nenhum arquivo txt", , "Kutools for Excel"
End Sub
Este comentário foi feito pelo moderador no site
Oi! Eu usei o código para mesclar vários arquivos XML em um, mas infelizmente as colunas ficaram confusas. Os 5 arquivos sendo mesclados tinham o mesmo formato. Existe alguma maneira de corrigir isso? Eu também queria saber se havia uma maneira de se livrar dos cabeçalhos que são duplicados quando os arquivos são mesclados. Obrigada!
Este comentário foi feito pelo moderador no site
Obrigada. Este site tem sido uma grande ajuda. Estou com um problema que não consigo resolver. Estou tentando importar vários arquivos csv em planilhas separadas do Excel e renomear cada planilha após o nome do arquivo csv. Eu sei que isso foi abordado abaixo para um arquivo txt, mas estou trabalhando com arquivos csv. Desde já, obrigado.
Este comentário foi feito pelo moderador no site
Oi - estou usando a importação de todos os arquivos csv em um arquivo listado acima "Importar vários arquivos Csv de uma pasta em uma única planilha com VBA" - gostaria de definir a pasta da qual coleta os dados sem ter que escolher manualmente isto. Isso pode ser feito? obrigado - SW.
Este comentário foi feito pelo moderador no site
Oi, Scott W, encontrei um código VBA que pode ajudá-lo.
Opção explícita

Sub ImportaçãoCSVsWithReference()
'Autor: Jerry Beaucaire
'Data: 10/16/2010
'Resumo: Importar todos os arquivos CSV de uma pasta para uma única planilha
' adicionando um campo na coluna A listando os nomes dos arquivos CSV

Dim wbCSV como pasta de trabalho
Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'caminho para arquivos CSV, inclua o \ final
Dim fCSV como string

If MsgBox("Limpar a planilha existente antes de importar?", vbYesNo, "Limpar?") _
= vbYes Então wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'acelerar macro

fCSV = Dir(fPath & "*.csv") 'inicia a listagem de arquivos CSV

Faça Enquanto Len(fCSV) > 0
'abre um arquivo CSV
Definir wbCSV = Workbooks.Open(fPath & fCSV)
'inserir coluna A e adicionar nome CSV
Colunas(1). Inserir xlShiftToRight
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'copia a data na planilha master e fecha o arquivo fonte
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Close False
'pronto próximo CSV
fCSV = Dir
laço

Application.ScreenUpdating = True
End Sub
Este comentário foi feito pelo moderador no site
Como eliminar cabeçalho duplicado e coluna de nome de arquivo CSV. Por favor me ajude.... Já passei por vários artigos, mas infelizmente todos dão o mesmo resultado.
Este comentário foi feito pelo moderador no site
Olá - Eu usei seus códigos VBA para extrair dados de vários arquivos CSV para o arquivo excel (o código nesta página) e converter arquivos csv para arquivos excel ( este: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), com ótimos resultados. Eles me ajudaram a economizar muito tempo.

No entanto, noto um problema comum com esses dois tipos de códigos. Para esclarecer, meu sistema está configurado para usar os padrões europeus para datas, enquanto alguns dos arquivos CSV que recebi para meu trabalho contêm datas nos padrões dos EUA. O primeiro problema é que, quando extraio ou converto dados de um arquivo CSV que contém datas no formato dos EUA, todas essas datas são invertidas (correspondendo aos padrões da UE usados ​​pelo meu sistema). Isso é ótimo, mas também me causou problemas, pois eu não sabia que os códigos reverteriam as datas para mim, então continuei e fiz a mesma coisa novamente. O segundo problema é que, para os arquivos CSV que contêm datas já no mesmo formato usado pelo meu sistema (padrões da UE), apenas as datas ambíguas são revertidas (ou seja, 04/05/2019 - 05/04/2019), enquanto os que são muito óbvios, permanecem inalterados (ou seja, 30/04/2019).

O que eu gostaria que os códigos fizessem, é exatamente a mesma coisa que eles são mostrados aqui, só que eles devem copiar e colar os dados (especialmente datas) nos formatos exatos usados ​​nos arquivos originais. Isso ajudaria a evitar possíveis confusões e erros. Gostaria de aprender VBA para um dia poder escrever meus próprios códigos, mas por enquanto não consigo modificar partes dos códigos existentes para atender às minhas necessidades. Então, se você puder ajudar, por favor me diga onde devo colocar os códigos modificados (que você criou) para os códigos existentes. Agradeço todos os comentários e suporte que posso obter. Obrigado a todos!
Este comentário foi feito pelo moderador no site
Oi Marshall, no método Workbooks.Open, adicione a opção Local:=True.

ou seja
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Este comentário foi feito pelo moderador no site
Muito obrigado Roberto. Desculpe não poder responder antes. Não recebi nenhuma notificação até agora. Vou tentar isso e volto mais tarde para dizer se isso funciona.
Este comentário foi feito pelo moderador no site
Oi Robert,
Sou eu novamente. Demorei um pouco para realmente ter tempo para descobrir em qual parte do código a parte "Local:True" deveria ser adicionada. O resultado ficou ótimo, pois as datas não são mais invertidas. Obrigada!
Para quem tiver o mesmo problema, basta alterar esta linha:
Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

Para isso:
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Este comentário foi feito pelo moderador no site
Oi, existe alguma maneira de importar vários arquivos csv com ponto e vírgula como separador? Obrigada!
PS Belo artigo!
Este comentário foi feito pelo moderador no site
oi Equipe

Estou usando o código para importar vários arquivos XML em uma única planilha com o VBA, mas o problema que estou enfrentando é quando a contagem de linhas atinge aproximadamente 650000, então ele não processa o restante dos arquivos xml na pasta e dá um erro que não há arquivos xml . Preciso do seu apoio para aumentar esta contagem.
Este comentário foi feito pelo moderador no site
Oi Peritos

Estou usando o código acima para importar vários arquivos xml em 1 planilha usando VBA, mas o problema que estou enfrentando é quando a contagem de linhas atinge 650000 em uma planilha, então esse código não processa o restante dos arquivos xml na pasta. Dá um erro "no files.xml". Exigir seu amável apoio
Este comentário foi feito pelo moderador no site
OláAs instruções para importar vários xmls em uma guia de um documento do Excel funcionam, mas queria saber como alinhar as colunas. Meus xmls não têm todas as mesmas tags. Eles são configurados de tal forma que, se o xml não tiver dados para alguns cabeçalhos (tags), o cabeçalho está ausente desse xml. Existe uma maneira de importar os xmls para que os mesmos cabeçalhos de cada xml e dados associados caiam na mesma coluna do Excel?
Não há comentários postados aqui ainda
carregar mais
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL