Pessoal, bom dia.
Mas uma vez venho recorrer aos conhecimento dos mestres em VBA.
Tenho um arquivo texto (DIRF_2016_Teste) e que preciso trabalhar com ele no excel.
Fui no gravador de macro, mas como sou limitado, as coisas que necessito não estão da forma que eu quero.
Acho que isso só conseguirei através de um código em VBA mais elaborado.
Preciso abrir este arquivo texto, no excel, deslocando tudo que for diferente “BPFDEC”, para coluna “D”, repetir os dados para os espaços que ficaram vazios do código “BPFDEC” e transformar os valores em número (0,00).
Alguém poderia ajudar-me, pois o arquivo que tenho tem muitas linhas e com macro não vou conseguir.
Seguem arquivos para uma melhor compreensão.
Agradeço antecipadamente, a todos que puderem me ajudar nesta questão.
JLVFrança
Bom dia jlvdranca,
Vê se ajuda:
Option Explicit Sub Macro1() Dim wsAtiva As Worksheet Dim sArquivo As String Dim UltL As Long Dim i As Long Application.ScreenUpdating = False sArquivo = CStr(Application.GetOpenFilename("Arquivo de Texto (*.TXT*),*.TXT*", , "Selecione um arquivo *.TXT*:", , False)) If sArquivo = "Falso" Then MsgBox "Arquivo não selecionado" Exit Sub End If ThisWorkbook.Worksheets.Add After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count) Set wsAtiva = ThisWorkbook.ActiveSheet With wsAtiva.QueryTables.Add(Connection:= _ "TEXT;" & sArquivo, Destination:=Range("$A$1")) .TextFileParseType = xlDelimited .TextFileOtherDelimiter = "|" .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2) .Refresh End With UltL = wsAtiva.Cells(Rows.Count, 1).End(xlUp).Row ActiveWorkbook.Connections(1).Delete ActiveWorkbook.Names(1).Delete For i = 5 To UltL If Not wsAtiva.Cells(i, 1).Value = "BPFDEC" Then wsAtiva.Range("A" & i & ":C" & i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove wsAtiva.Range("A" & i - 1 & ":C" & i - 1).AutoFill Destination:=wsAtiva.Range("A" & i - 1 & ":C" & i), Type:=xlFillCopy End If Next i Application.ScreenUpdating = True MsgBox "Processo finalizado com sucesso" End Sub
Qualquer coisa da o grito.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bernardo, bom dia.
Quero agradecer por ajudar-me.
Perfeito. Era exatamente o que estava precisando.
Abraços,
JLVFrança
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel