none
Inserir fórmula e arrastar até a última linha RRS feed

  • Pergunta

  • Prezados,

    Todo dia eu faço a extração no sistema de um razão/relatório de clientes em aberto. Nesse relatório, o código e nome do cliente sai na linha de cima, enquanto que o número da fatura, data, histórico e valor saem na linha de baixo.

    Estou fazendo uma macro para automatizar e "limpar" o arquivo, de maneira a deixar as informações por coluna (Cód, Nome Cliente, Data, Histórico, Valor).

    Através do código abaixo consegui criar duas colunas das quais vou precisar para criar a condição de trazer a linha do Código e nome do cliente, para a mesma linha das informações do relatório. Porém preciso arrastar a fórmula até a última linha que esteja preenchida, que varia a cada relatório.

    Sub LimparRG()

    A1 = ActiveCell.Row
    Rows(A1).Select
    Selection.Delete Shift:=xlUp


     If Application.CountA(Columns(1)) <> 0 Then
                    Columns(1).EntireColumn.Insert
                If Application.CountA(Columns(2)) <> 0 Then
                    Columns(2).EntireColumn.Insert
                End If
                End If
                            
    Columns("C:C").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.EntireRow.Delete
    Range("B2").Select
    Range("B2").Formula = "=IF(LEFT(C2;5)="CONTA";D2;B1)"


    End Sub

    Estou tentando, porém sem sucesso.

    Versão em inglês, Excel 2016.

    Preciso de ajuda para a solução de citado problema.

    Muito Obrigado!

    terça-feira, 20 de fevereiro de 2018 19:51

Todas as Respostas

  • Experimente acrescentar no seu código essas linhas

    LastRow = Cells(.Rows.Count, "B").End(xlUp).Row
    
    .Range("B2").AutoFill Range("B2").Resize(LastRow)


    • Editado Ricardo Vba terça-feira, 20 de fevereiro de 2018 20:19
    terça-feira, 20 de fevereiro de 2018 20:18