Notifications
Clear all

Exportar Dados para TXT

2 Posts
2 Usuários
0 Reactions
1,170 Visualizações
(@jayder)
Posts: 2
New Member
Topic starter
 

Boa tarde.
Estou com problema que acredito que possa ser resolvido, para que se torne mais ágil meu trabalho.
Mensalmente recebo um planilha, na qual a mesma possui 2 colunas(A e B) preenchidas apenas. Mas o grande problema, no qual me fez vir aqui, é que preciso exportar esses dados para vários(mais de 100) arquivos de txt.
O que é feito?
Pois bem, para que haja todo esse trabalho, a coluna "A" é classificada em ordem alfabética e, após essa classificação, de acordo com cada mudança de argumentos classificados na coluna "A", são copiados os dados da coluna "B" e colados no notepad e salvo no TXT com o nome do argumento agrupado na coluna "A". Acredito que haja uma forma mais "automatizada" de ser feito isso.

Alguem ajuda aí?!

 
Postado : 18/05/2015 11:17 am
(@joelfl)
Posts: 22
Eminent Member
 

Jayder,
Segue uma sugestão:
Imaginemos a tabela abaixo com o cabeçalho na célula A1.
DADOS A DADOS B
LÁPIS VERDE
LÁPIS VERMELHO
LÁPIS AMARELO
LÁPIS AZUL
LÁPIS BRANCO
LÁPIS PRETO
CANETA VERDE
CANETA VERMELHO
CANETA AMARELO
CANETA AZUL
CANETA BRANCO
CANETA PRETO
CADERNO VERDE
CADERNO VERMELHO
CADERNO AMARELO
CADERNO AZUL
CADERNO BRANCO
CADERNO PRETO

A macro abaixo criará 3 arquivos texto com os respectivos nomes: LÁPIS, CANETA e CADERNO,
contendo cada um deles as cores: VERDE, VERMELHO, AMARELO, AZUL, BRANCO, PRETO.
Importante: defina na linha 3 o local destino dos arquivos .txt

Sub Gerar_TXT()
'Coloque aqui o caminho destino do arquivo
Caminho = "C:UsersusermasterDesktopteste"
'Localiza a última linha preenchida
UL = Range("B65536").End(xlUp).Row
'Define nome do arquivo txt, inicialmente será "vazio"
Nome_Arquivo = ""
'Loop para Identificar mudança na Coluna A
For L = 2 To UL
'Se houver mudança no dado da 1ª coluna ele cria o arquivo TXT
If Cells(L, 1) <> Cells(L - 1, 1) Then
Nome_Arquivo = Cells(L, 1)
Open Caminho & Nome_Arquivo For Output As #1
Do While Nome_Arquivo = Cells(L, 1)
Exportar = Cells(L, 2)
Print #1, Exportar
L = L + 1
Loop
Close #1
L = L - 1
End If
Next
MsgBox "Fim"
End Sub

Veja se atende a sua necessidade.

Joel

 
Postado : 19/05/2015 7:22 am