Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
MAIQUE CASTRO



Mensagens : 4
Data de inscrição : 24/05/2013

MensagemAssunto: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Sex Maio 24, 2013 9:26 am

TENHO UMA PLANILHA NO EXECELL COM A SEGUINTE tabela:

codigo: 02 posições
empresa: 40 posições
cnpj: 14 posições
observações: 30 posições
inscrição municipal: 10 posições

MINHA TABELA NO EXCELL ESTA ASSIM:

01 EMPRESA DE SERVIÇOS LTDA 05457578000100 EMPRESA ATIVA 1654987511

precisava gerar um arquivo TXT respeitando as posições, ou seja:

só imprimir a próxima coluna quando terminar o tamanho correto de cada posição.

POR FAVOR ALGUÉM ME SOCORRE, TO MUITO TEMPO NESSA DIFICULDADE, E DOMINO POUKINHO O VBA EM EXCELL.

MAS TO TRABALHANDO COM PLANILHAS DE EXCELL NO EMPREGO E TO NO SUFOCO COM ISSO???

ABRAÇO A TODOS FERAS DE VBA x EXCELL, UM DIA CHEGO LÁ TMB.

MAIQUE CASTRO
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Sex Maio 24, 2013 6:35 pm

Boa tarde!!

Seria bom ter seu arquivo modelo... drunken

Leia:
http://www.cpearson.com/excel/ImpText.aspx


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
MAIQUE CASTRO



Mensagens : 4
Data de inscrição : 24/05/2013

MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Sab Maio 25, 2013 8:20 am

Esta função:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ExportToTextFile
' This exports a sheet or range to a text file, using a
' user-defined separator character.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub ExportToTextFile(FName As String, _
Sep As String, SelectionOnly As Boolean, _
AppendData As Boolean)

Dim WholeLine As String
Dim FNum As Integer
Dim RowNdx As Long
Dim ColNdx As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim StartCol As Integer
Dim EndCol As Integer
Dim CellValue As String


Application.ScreenUpdating = False
On Error GoTo EndMacro:
FNum = FreeFile

If SelectionOnly = True Then
With Selection
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
Else
With ActiveSheet.UsedRange
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
End If

If AppendData = True Then
Open FName For Append Access Write As #FNum

Else
Open FName For Output Access Write As #FNum
End If

For RowNdx = StartRow To EndRow
WholeLine = ""
For ColNdx = StartCol To EndCol
If Cells(RowNdx, ColNdx).Value = "" Then
CellValue = Chr(34) & Chr(34)
Else
CellValue = Cells(RowNdx, ColNdx).Value
End If
WholeLine = WholeLine & CellValue & Sep
Next ColNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
Print #FNum, WholeLine
Next RowNdx

EndMacro:
On Error GoTo 0
Application.ScreenUpdating = True
Close #FNum

End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' END ExportTextFile
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DoTheExport()
ExportToTextFile FName:="C:\Test.txt", Sep:=";", _
SelectionOnly:=False, AppendData:=True
End Sub

Já me deu uma luz ela exporta para um arquivo txt minha tabela do excell.
precisava apenas agora conseguir uma correção deste codigo.

Atualmente sai assim os dados de minha tabela:

00;11;01796059000109;66665555;23052013;35;44

preciso que saia assim:

00 11 01796059000109 66665555 23052013 35 44

o espaço vazio entre um sequencia de números e outra é um campo vazio sem caracteres numéricos para serem impressos.

Alguns campos tem 10 posições outros 20, outros 30 posições (campo vazio com 10, 20 ou 30 posições), que precisavam ser impressos como um espaço de 10, 20 ou 30 caracteres em branco.

POR FAVOR ME AJUDA SE PUDER!!!

TO NO SUFOCO COM ISSO..

ABRAÇÃO.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Dom Maio 26, 2013 2:45 am

Boa noite!!

e...onde está seu arquivo modelo?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
MAIQUE CASTRO



Mensagens : 4
Data de inscrição : 24/05/2013

MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Seg Maio 27, 2013 4:36 pm

alexandrevba escreveu:
Boa noite!!

e...onde está seu arquivo modelo?

Att

minha tabela do excell é assim:

codigo:
00 - 02 posições

empresa: NOME COMPLETO DA EMPRESA
40 posições

cnpj: NUMERO DO CNPJ
14 posições

observações: CAMPO DE OBSERVAÇÕES - QUANDO DESEJAREM.
30 posições

Inscrição municipal: NUMERO DE INSCRIÇÃO
10 posições


Ai quando eu exporto do excell para o TXT sai assim:

00;EMPRESA MODELO LTDA;01796059000109;23052013;


* Os campos são inscritos sendo desconsiderados os seus tamanhos, o campo observação, neste exemplo não foi impresso seu tamanho porque neste registro ele estava vazio.
A necessidade é gerar o arquivo TXT considerando o tamanho de cada campo, com ou sem dados gravados neles.

Por favor me ajuda?

Maique Castro




Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Ter Maio 28, 2013 3:20 am

Boa noite!!

Eu eu estou aguardando seu modelo do antes (sua planilha de excel) e o depois (modelo de txt)

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
BrunoF



Mensagens : 9
Data de inscrição : 26/04/2013

MensagemAssunto: Algoritmo basico   Ter Maio 28, 2013 4:52 pm

Maique,

abaixo segue um exemplo de macro bem basica mas faz o que vc quer. Ve se ajuda

Algumas considerações:
- Os dados estão:
Coluna A - Codigo
Coluna B - Empresa
Coluna C - CNPJ
Coluna D - Observação
Coluna E - Inscrição municipal
- Linha 1 contem um cabeçalho
- Os dados estão a partir da linha 2

É possivel melhorar muito esta rotina mas dessa maneira esta didatica e funciona.

'*****************************
' Inicio da Macro
'*****************************
Sub Macro1()
'
'Determina o tamanho da planilha (considerando que a coluna "A" esta preenchida.
UltLin = Cells(Cells.Rows.Count, "A").End(xlUp).Row

'Abre o arquivo Saida na "Area de Trabalho" do usuario "Local"
Open "C:\Users\Local\Desktop\Saida.txt" For Output As #1

Executa um loop da 2 até a ultima linha de dados

For i = 2 To UltLin
' Monta a linha
LinExp = Left(Cells(i, 1) & "00", 2)
LinExp = LinExp & " " & Left(Cells(i, 2) & Space(50), 40)
LinExp = LinExp & " " & Left(Cells(i, 3) & Space(50), 14)
LinExp = LinExp & " " & Left(Cells(i, 4) & Space(50), 30)
LinExp = LinExp & " " & Left(Cells(i, 5) & Space(50), 10)

' Grava a linha no arquivo
Print #1, LinExp

Next i

'Fecha o arquivo
Close #1

End Sub
'*****************************
' Fim da Macro
'*****************************
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????   Hoje à(s) 10:14 pm

Voltar ao Topo Ir em baixo
 
GERAR UM TXT A APARTIR DE UMA TABELA DO EXCELL????
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [525, 533, 723, S8500][BADA][GRATUITO] Tabela Periodica
» [RESOLVIDO]Carregar Imagens apartir de um Diretorio
» [RESOLVIDO]Gerar objetos em posições aleatórias dentro de um círculo
» [Dúvida] Tabela classificativa campeonato futebol
» Tabela de pontos

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: