Criar Razonetes ou Conta T Automaticamente – VBA Excel

Objetivo: Disponibilizar um procedimento VBA para criar razonetes, também chamadas como Contas T de forma automática no Excel.

Conforme a Wikipédia “Nas ciências contábeisrazonete é uma ferramenta e uma representação gráfica em forma de “T” bastante utilizada pelos contadores. É um instrumento didático para desenvolver o raciocínio contábil. Através do razonete são feitos os registros individuais por conta, dispensando-se o método por balanços sucessivos. Como o balanço, o razonete tem dois lados; na parte superior do razonete coloca-se o título da conta que será movimentada. Posteriormente, os resultados individuais são transferidos para oBalanço Patrimonial para criação do demonstrativo contábil.“.

O código VBA descrito abaixo realiza a criação automática de razonetes, facilitando os estudos contábeis, acredito que possa ser muito útil para os Contadores e analistas de sistema da área.

Sub lsCriaContaT()
    ActiveCell.Resize(, 2).Activate
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
 
    ActiveCell.Offset(1, 1).Select
    ActiveCell.Resize(6).Select
 
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
 
    ActiveCell.Offset(0, -1).Range("A1").Select
 
    'Gera as contas
    ActiveCell.Offset(5).Select
    ActiveCell.Resize(, 2).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
 
    'Fórmulas
    Selection.Resize(1, 1).Select
    ActiveCell.FormulaR1C1 = _
        "=IF(SUM(R[-5]C:R[-1]C)-SUM(R[-5]C[1]:R[-1]C[1])>0,SUM(R[-5]C:R[-1]C)-SUM(R[-5]C[1]:R[-1]C[1]),0)"
    Selection.Offset(0, 1).Select
    Selection.Resize(1, 1).Select
    ActiveCell.FormulaR1C1 = _
        "=IF(SUM(R[-5]C:R[-1]C)-SUM(R[-5]C[-1]:R[-1]C[-1])>0,SUM(R[-5]C:R[-1]C)-SUM(R[-5]C[-1]:R[-1]C[-1]),0)"
    Selection.Offset(0, -1).Select
    Selection.Resize(1, 2).Select
    Selection.Style = "Comma"
    Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)"
 
    Selection.Resize(1, 1).Select
    Selection.Offset(-5).Select
 
    Selection.Offset(-1).Select
    Selection.Resize(1, 2).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
    Selection.Font.Bold = True
End Sub

Para colocar o procedimento como global você deve seguir os procedimentos em http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-procedimentos-vba-sub-da-internet, depois é só associar a um atalho este comando e você terá a criação automática de razonetes.

GUT PPT

Abraço

Marcos Rieper

Quer aprender Excel Avançado ou Excel VBA? Conheça os nossos cursos, os melhores do mercado a preços baixíssimos e garantia de aprendizado. Cursos Guia do Excel.

excel vba

SISTEMA DE GESTÃO CONTA AZUL

O Excel é uma plataforma de trabalho muito aberta para servir ao gerenciamento de dados de uma empresa, dado a complexidade e a integração entre as diversas áreas que a compõe. Mas é a melhor para analisar suas informações.

Com a intenção de atender as micro e pequenas empresas a Conta Azul criou um software de gestão aonde você tudo o que você precisa para gerir a sua empresa: Estoque, Vendas, Financeiro e ainda emite Nota Fiscal Eletrônica, tudo isso em um sistema simples de trabalhar, que você acessa pela internet, não há a necessidade de comprar servidores e preocupar-se com backup e atendimento através de 0800.

O preço da ferramenta também chama a atenção, sendo um preço mais do que justo para se ter o controle dos dados e a geração de informações para a análise do seu negócio.

ContaAzul é um software de gestão financeira e fiscal para micro e pequenas empresas. Ele funciona 100% em plataforma web, não necessitando nenhuma instalação ou atualização. Você pode acessar de qualquer lugar e não tem necessidade de comprar nova licença caso troque de computador.

  O Guia do Excel recomenda o Conta Azul no gerenciamento de sua empresa.
Use QR-Code to get this permaking using your Smartphone. QR Code for Criar Razonetes ou Conta T Automaticamente – VBA Excel

8 Comentários

  1. OLIVER G. disse:

    MUITO BOM GOSTEI DAS DICAS, OBRIGADO.

  2. antonio disse:

    Boa noite, tenho uma tabela de excel com cabeçalho de colunas contendo:
    1- nome da empresa
    2- nome do empregado
    3- data do exame
    4 a 17 – exames realizados (ex. hemograma, glicemia, urina, fezes, RX, etc)
    cada empresa e cada empregado fazem exames diferentes, então coloco um “X” nos exames realizados (na coluna dos exames).
    No fim do mes pego a tabela e vou trocando os “X” deacordo com uma tabela de valores dos exames (diferente valores para cada empresa. Desta feita terei de gerar um relatório de cobrança para cada empresa. O processo esta muito trabalhoso e preciso automatizar todo esse processo. Pode me ajudar? Antonio B Carvalho abc-abc@bol.com.br tel:(19) 3844 5465

  3. Prezado Marcos Rieper, é possível fazer o lançamento no livro diário e gerar os razonetes com os valores respectivos automaticamente em VBA? Tenho uma planilha e gostaria que ela gerasse o razonete automaticamente.

    Arnaldo

  4. maxencioi disse:

    Como faço a conta T no LibreOffice Calc ?

  5. Alan disse:

    Bom Dia.

    Vendo que pela lógica foi apenas uma exemplificação, porém, não muito feliz com a conta de Clientes, acredito que isso tem influência em relação á estudantes que ainda conceituam os saldos devedores e credores.

    Ótimo material e colocação, excelente site.

    • Marcos Rieper disse:

      Boa tarde Alan,

      Hehe, realmente não é para ter lógica, era somente pra demonstrar que a conta T já automaticamente está colocando o saldo para um lado ou para outro.

      Mas realmente poderia ter sido feito com um exemplo contábil.

      Abraço

      Marcos Rieper

Deixe o seu comentário


 
%d blogueiros gostam disto: