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
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
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
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