Notifications
Clear all

Formatar Células com Texto e Números

3 Posts
2 Usuários
0 Reactions
1,374 Visualizações
(@lopesdf)
Posts: 4
Active Member
Topic starter
 

Prezados,

Eu preciso de ajuda para formatar uma planilha por meio do VBA.
Eu faço a importação de um arquivo TXT mas quando defino os limites das colunas, os totais são cortados.Eu já consegui formatar todos os dados mas os totais estão vindo com texto e números.

Minha necessidade é: Separar o texto dos números e deixá-los em células diferentes.

No arquivo em anexo há um modelo de como os dados são apresentados e como eu preciso que fiquem.

Antecipadamente agradeço a ajuda de todos.

Att.,

Wagner Lopes

 
Postado : 28/05/2012 10:00 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tem um exemplo do seu Txt?
Como é feita a "importação"?

 
Postado : 28/05/2012 10:38 am
(@lopesdf)
Posts: 4
Active Member
Topic starter
 

Reinaldo,

Como eu não trabalho muito com o VBA eu gravei uma macro e depois tentei editá-la. Eu faço a importação com a Sub abaixo:

Sub SelecionarArquivo()
'Esta macro abre uma caixa de diálogo para selecionar o arquivo .txt que será importado
Dim NomeArquivo As String

'Abre caixa de diálogo e pergunta qual arquivo abrir
NomeArquivo = Application.GetOpenFilename(filefilter:="Arquivo txt(*.txt),*.xls*,*xlsx*,*xlsm*", _
Title:="Escolha o arquivo para copiar e gravar", MultiSelect:=False)

'Caso vc clique em cancelar, sai da rotina de importação sem mensagem de erro.
If NomeArquivo = False Or NomeArquivo = "false" Then Exit Sub

'Aqui começa a importação do arquivo txt escolhido.
'NomeArquivo = nome do arquivo que foi selecionado acima, com o respectivo endereço.
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & NomeArquivo, Destination:=Range("$B$2"))
.Name = "NomeArquivo"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
'Aqui começa a definição do número de colunas e de caracteres em cada uma.
'Os números abaixo indicam que são 14 colunas e quantos caracteres em cada uma.
.TextFileFixedColumnWidths = Array(1, 9, 31, 11, 28, 9, 41, 22, 22, 22, 22, 22, 22, 22)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

End Sub

Estou anexando o último arquivo TXT que importei.

Grato,

Wagner Lopes

 
Postado : 28/05/2012 10:46 am