Bom, dia.
Tenho uma planilha do Excel que me reporta um relatório e imprime em .txt os dados desejados. O problema se dá que esse relatório em .txt fica com as informações "embaralhadas" ao invés de manter sua forma como se apresenta na planilha. Assim:
Cod. Barras Descrição Diagnostico
7891242470026 LUSTRA MOVEIS INGLEZA BRY 200ML LAVANDA Inventario erro
7891024127704 LIMP AJAX F.FLORES FLORES CAMPO 500ml Inventario possivel erro
7896000719027 SHAMP NIELY CLINIHAIR 250ML REP ABSOLUTA Inventario erro
quando gostaria que ficasse no exemplo do Anexo
a macro que estou utilizando é essa para gerar o relatório em .txt:
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
Em um 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
Alguem pode me dar uma mão?
obrigado.
Tenho uma planilha do Excel que me reporta um relatório e imprime em .txt os dados desejados. O problema se dá que esse relatório em .txt fica com as informações "embaralhadas" ao invés de manter sua forma como se apresenta na planilha. Assim:
Cod. Barras Descrição Diagnostico
7891242470026 LUSTRA MOVEIS INGLEZA BRY 200ML LAVANDA Inventario erro
7891024127704 LIMP AJAX F.FLORES FLORES CAMPO 500ml Inventario possivel erro
7896000719027 SHAMP NIELY CLINIHAIR 250ML REP ABSOLUTA Inventario erro
quando gostaria que ficasse no exemplo do Anexo
a macro que estou utilizando é essa para gerar o relatório em .txt:
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
Em um 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
Alguem pode me dar uma mão?
obrigado.
- Anexos
- Relatorio Conferencia.txt
- Você não tem permissão para fazer download dos arquivos anexados.
- (1 Kb) Baixado 3 vez(es)