Grave Dados em um Arquivo de Texto usando Excel VBA - Easy Excel Macros

Índice

Abaixo, veremos um programa em Excel VBA que grava um intervalo do Excel em um arquivo de texto CSV (valores separados por vírgula).

Situação:

Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:

1. Primeiro, declaramos uma variável chamada myFile do tipo String, um objeto chamado rng do tipo Range, uma variável chamada cellValue do tipo Variant, uma variável chamada i do tipo Integer e uma variável chamada j do tipo Integer. Usamos uma variável Variant aqui porque uma variável Variant pode conter qualquer tipo de valor.

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

2. Precisamos especificar o caminho completo e o nome do arquivo do arquivo.

myFile = Application.DefaultFilePath & "\ sales.csv"

Nota: a propriedade DefaultFilePath retorna o caminho de arquivo padrão. Para alterar o local padrão do arquivo, na guia Arquivo, clique em Opções, Salvar.

3. Inicializamos o objeto de intervalo rng com o intervalo selecionado.

Definir rng = Seleção

4. Adicione a seguinte linha de código:

Abra myFile para saída como # 1

Nota: esta declaração permite que o arquivo seja gravado. Podemos nos referir ao arquivo como # 1 durante o resto do nosso código. Se o arquivo já existir, ele será excluído e um novo arquivo com o mesmo nome será criado.

5. Inicie um loop duplo.

Para i = 1 para rng.Rows.Count
Para j = 1 para rng.Columns.Count

Observação: rng.Rows.Count retorna o número de linhas (17 neste exemplo) e rng.Columns.Count retorna o número de colunas (4 neste exemplo).

6. O Excel VBA grava o valor de uma célula na variável cellValue.

cellValue = rng.Cells (i, j) .Value

7. Adicione as seguintes linhas de código para gravar o valor de cellValue no arquivo de texto.

Se j = rng.Columns.Count Então
Escreva # 1, cellValue
Outro
Escreva # 1, cellValue,
Fim se

Explicação: devido à instrução If Then Else, o Excel VBA apenas inicia uma nova linha (Write # 1, cellValue) quando j é igual ao número de colunas (último valor em uma linha). Para separar os valores com uma vírgula, use Write # 1, cellValue, (com uma vírgula).

8. Não se esqueça de fechar os dois loops.

 Próximo j
Proximo eu

9. Feche o arquivo.

Fechar # 1

10. Selecione os dados e clique no botão de comando na planilha.

Resultado:

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

wave wave wave wave wave