Exportar intervalo para CSV (arquivo de texto delimitado) - exemplos de código VBA

Salvar intervalo em arquivo CSV

Solução # 670 sobre como exportar um intervalo para um arquivo de texto delimitado.

Esta é uma alternativa útil para usar a maneira padrão do Excel para salvar a planilha como um arquivo de texto ou arquivo delimitado por CSV escolhendo "salvar como" quando:

1. Você usa um modelo e só deseja exportar os dados, excluindo cabeçalhos e outras coisas diversas

2. Da mesma forma, você pode querer exportar apenas parte de um conjunto de dados

3. Você deseja salvar o arquivo com um delimitador personalizado que pode ser exclusivo para o seu aplicativo.

Se você precisar fazer 1, 2 ou 3, uma função como a seguinte pode ajudar. Ele aceita um intervalo para exportar, um local para salvar o arquivo e o delimitador com o qual você deseja que seus dados sejam separados e, em seguida, salva seus dados conforme especificado.

Veja como chamar a função ExportRange:

1234567891011 Sub CallExport ()'ExportRange (intervalo, onde, delimitador)Chame ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")End Sub

Primeiro, você informa à função o intervalo que deseja exportar e, em seguida, para onde exportá-lo, além do delimitador a ser usado. Você também precisará da função ExportRange, aqui está:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Função ExportRange (WhatRange As Range, _Where As String, Delimiter As String) As StringTeste Dim HoldRow As Long 'para a nova variável de linhaHoldRow = WhatRange.RowDim c As Range 'loop através da variável de intervaloPara cada c em WhatRangeIf HoldRow c.Row Then'adicionar quebra de linha e remover delimitador extraExportRange = Left (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c.Text & DelimiterHoldRow = c.RowOutroExportRange = ExportRange & c.Text & DelimiterFim sePróximo c'Cortar delimitador extraExportRange = Left (ExportRange, Len (ExportRange) - 1)'Mate o arquivo se ele já existirSe Len (Dir (Onde))> 0 EntãoMatar ondeFim seAbra Onde Para Append As # 1 'escreva o novo arquivoImpressão # 1, ExportRangeFechar # 1Função Final

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave