Importação de txt, ...
 
Notifications
Clear all

Importação de txt, excel insere sinal = e gera erro #NOME?

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

Olá pessoal,

Estou com o código abaixo, que ao importar o txt ele insere na aba VEND6000, porém não sei prq ele coloca na célula C4 um sinal de "=" antes do caracter "-", e isso faz com que a célula fique com o erro #NOME?..

E depois disso, eu gero outro vba para ler os dados de mais de mil linhas (exclui estes dados) e o vba depura quando encontra uma célula com esse erro #NOME?

Vcs acham que é melhor arrumar o erro na importação ou fazer com que meu código VBA de cálculo desconsidere células com esse erro (outra coisa que não sei como fazer).

Segue código abaixo de importação do txt que estou usando e também a planilha em anexo com o txt.

obs: eu já tentei mudar onde delimita a coluna, o erro de uma coluna até que some, mas aparece em outra, dai depois que gero outro código ele depura novamente (Tipos incompatíveis (Erro 13))

Sub import_pv()
'
' import_pv Macro
'

'
'Deletar Valores Anteriores
    Sheets("VEND6000").Select
    Cells.Clear


    Sheets("VEND6000").Select
    'Escolha qual planilha
    Caminho = Application.GetOpenFilename
       
    'Importa
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Caminho, Destination:=Range("$A$1"))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .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)
        .TextFileFixedColumnWidths = Array(5, 6, 14, 23, 12, 16, 17, 13, 15, 18, 13)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    ActiveWindow.SmallScroll Down:=-2
End Sub
 
Postado : 19/04/2018 3:13 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Minha opinião e de sempre procurar eliminar erros na fonte. Em TextFileColumnDataTypes tipo 1 corresponde a formatação geral do Excel.
O erro ocorre pois o Excel tenta adequar o valor recebido a uma forma/formato existente; assim -... e confundido com uma formula/numero negativo
Pode-se experimentar duas possibilidades:
Na linha ".TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)"
Alterar
.TextFileColumnDataTypes = Array(1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1) (onde 2 corresponde a formato texto

ou ainda nalinha : ".TextFileFixedColumnWidths = Array(5, 6, 14, 23, 12, 16, 17, 13, 15, 18, 13)"
Alterar
.TextFileFixedColumnWidths = Array(5, 7, 13, 23, 12, 16, 17, 13, 15, 18, 13) --> O simbolo " - " devera ser incorporado a coluna do resultando numa coluna tres sem esse

 
Postado : 19/04/2018 4:08 pm
(@diogodvd)
Posts: 0
New Member
Topic starter
 

Reinaldo, muito obrigado, ontem fiquei o dia inteiro quebrando cabeça e graças a vc resolvi em poucos minutos.

Usei a primeira opção..

Forte abraço

 
Postado : 20/04/2018 8:24 am