Excel VBA - Criar razonetes ou contas T automaticamente
Neste artigo é demonstrada a criação automática de contas T ou razonete no Excel com o uso de VBA. Muito útil á contadores.
Especialista em Excel
Excel VBA – Criar razonetes ou contas T automaticamente
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Excel VBA - Criar razonetes ou contas T automaticamente
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ábeis, razonete é 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.
DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS:
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Excel VBA – Criar razonetes ou contas T automaticamente
Baixe agora — o link vai direto para o seu e-mail.
- Download 100% gratuito
- Arquivo pronto para usar no Excel
- Enviamos o link no seu e-mail
Abraço
Marcos Rieper
Este conteúdo foi útil?
Continue lendo

Criar PowerPoint Automaticamente com Excel VBA
Leia neste artigo como criar arquivos powerpoint automaticamente com VBA. Exportando os seus dados do Excel utilizando o VBA.

Criar Hiperlinks Automaticamente no Excel com VBA
Como criar hiperlinks automaticamente no Excel utilizando o VBA. Exemplo prático com download grátis da planilha de exemplo.

Criar gráfico velocímetro automaticamente VBA Excel
Criar gráfico velocímetro automaticamente VBA Excel. Download grátis do código Excel VBA para a criação do mesmo.


