Notifications
Clear all

Delimitar resultado em TXT

8 Posts
3 Usuários
0 Reactions
1,047 Visualizações
(@luis-o)
Posts: 0
New Member
Topic starter
 

Boa tarde, tenho uma macro que me retorna valores pré determinados e os salva em .txt. Ela funciona muito bem mas as informações saem um tanto embaralhadas. Gostaria de que as informações retornadas se mantivessem em colunas pois atualmente elas saem assim:

Cod. Barras Descrição Diagnostico
7896659600530 FARINHA TRIGO SANANDUVA 5KG PAO CASEIRO Inventario possivel erro
7891356053894 BATEDEIRA BRITANIA PEROLA MAX 220V Inventario erro
7891331014865 CEREAL NUTRY 30G NUTS MORANGO Inventario erro
7899751200431 GOJI BERRY Q-VITA 70G Inventario erro
7891000094532 RACAO PURINA FRISKIES 85G PEIXE Inventario erro
7898510454535 BIFINHO PRIMOCAO 60G FRANGO Inventario erro
7896029007303 RACAO WHISKAS 500g FILHOTE CARNE LEITE Inventario erro

A macro que uso:

Sub SalvarComoTXT()
    UserForm1.Show
End Sub

Sub ExecutarSalvarTXT(mPlan As Worksheet, mPathSave As String)
Dim NovoArquivoXLS As Workbook

    'Cria um novo arquivo excel
    Set NovoArquivoXLS = Application.Workbooks.Add

    'Copia a planilha para o novo arquivo criado
    mPlan.Copy Before:=NovoArquivoXLS.Sheets(1)

    'Salva o arquivo
    Application.DisplayAlerts = False
    NovoArquivoXLS.SaveAs mPathSave & "" & mPlan.Name & ".txt", _
        FileFormat:=xlText, CreateBackup:=False

    NovoArquivoXLS.Close
    Set NovoArquivoXLS = Nothing
    Application.DisplayAlerts = True

    MsgBox "Novo arquivo salvo em: " & mPathSave & "" & mPlan.Name & ".txt", vbInformation

End Sub
'UserForm1
Private Sub CommandButton1_Click()

    'Chama a rotina para salvar como txt
    'Será salvo um novo arquivo txt com base na planilha seleciona na lista de opções
    Call ExecutarSalvarTXT(Sheets(lstPlanilhas.Text), ThisWorkbook.path)

    Unload Me   'Fecha o form

End Sub

Private Sub UserForm_Initialize()

    'Chama a rotina para preencher a lista das planilha disponíveis no arquivo
    Call PreencheLista

End Sub

Private Sub PreencheLista()
Dim sht As Worksheet

    lstPlanilhas.Clear

    For Each sht In ThisWorkbook.Worksheets
        If sht.Name <> "Principal" Then 'Não exibe a planilha Principal
            lstPlanilhas.AddItem sht.Name
        End If
    Next sht

End Sub



Com userform:
Private Sub CommandButton1_Click()
    
    'Chama a rotina para salvar como txt
    'Será salvo um novo arquivo txt com base na planilha seleciona na lista de opções
    Call ExecutarSalvarTXT(Sheets(lstPlanilhas.Text), ThisWorkbook.path)
    
    Unload Me   'Fecha o form
    
End Sub

Private Sub lstPlanilhas_Change()

End Sub

Private Sub UserForm_Initialize()
    
    'Chama a rotina para preencher a lista das planilha disponíveis no arquivo
    Call PreencheLista
    
End Sub

Private Sub PreencheLista()
Dim sht As Worksheet

    lstPlanilhas.Clear
    
    For Each sht In ThisWorkbook.Worksheets
        If sht.Name <> "Principal" Then 'Não exibe a planilha Principal
            lstPlanilhas.AddItem sht.Name
        End If
    Next sht
    
End Sub

e gostaria que ficasse como segue em anexo. Alguém pode me dar uma mão? Obrigado.

 
Postado : 22/04/2016 1:38 pm
(@basole)
Posts: 487
Reputable Member
 

Luis,
Há varios exemplos de codigo que faz o que voce quer, mas para adaptar um desses codigos ao seu projeto,
seria bom analisar melhor o cenario, e ver as disposicoes de dados e etc.

 
Postado : 22/04/2016 2:38 pm
(@luis-o)
Posts: 0
New Member
Topic starter
 

Quais os pontos que eu deveria analizar?

 
Postado : 22/04/2016 2:52 pm
(@basole)
Posts: 487
Reputable Member
 

Desculpe acho que nao me expressei bem,
Eu quiz dizer, que se voce pudesse anexar a sua planilha ou um exemplo facilita nosso entendimento e visualizar a disposicao dos dados,

 
Postado : 22/04/2016 2:57 pm
(@luis-o)
Posts: 0
New Member
Topic starter
 

Ahmmm, certo. falha minha nao ter disposto isso no inicio. :oops:

Segue:

 
Postado : 22/04/2016 3:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bosa noite Luis.O

Seja bem-vindo ao fórum!

Com você novato, para facilitar a tua participação no fórum, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s
Patropi - Moderador

 
Postado : 22/04/2016 3:56 pm
(@basole)
Posts: 487
Reputable Member
 

Veja, inseri parte do seu codigo em um exemplo:
Copie a Sub ExecutarSalvarTXT e a funcao, que estam no módulo1 para sua planilha.

 
Postado : 22/04/2016 4:53 pm
(@luis-o)
Posts: 0
New Member
Topic starter
 

Ok, vou testar na minha planilia. Mas será que poderia explicar como ela funciona, gostaria de entender a mecanica dela. :)

 
Postado : 27/04/2016 8:46 am