top of page

Planilha de controle financeiro pessoal no EXCEL com VBA e Tabela Dinâmica

  • Foto do escritor: Milena Colares
    Milena Colares
  • 17 de jun. de 2020
  • 2 min de leitura

Atualizado: 29 de jul. de 2020


Gravamos uma série com 4 vídeos no Youtube que vai te ensinar a implementar um controle financeiro pessoal no EXCEL usando VBA (Visual Basic For Applications), tabelas dinâmicas e um gráfico dinâmico.


Download da planilha:



PARTE 1 - Apresentação do projeto

Assista ao vídeo no Youtube: https://www.youtube.com/watch?v=VN0MFp7TsMs


- Fazer um controle financeiro é importante para visualizar a distribuição de seus gastos;

- Geralmente quando olhamos o extrato do cartão, não conseguimos ter a dimensão dos nossos gastos, mas quando lançamos em uma planilha, nós damos forma aos nossos gastos e conseguimos ver de fato para onde está indo nosso dinheiro;

- Se você nunca programou em VBA, assista nosso vídeo que te dá o ponto de partida para aprender VBA. O VBA pode te ajudar a otimizar suas planilhas do EXCEL.


Aprenda VBA do zero:

PARTE 2 - Alimentação das ComboBoxes
Private Sub Workbook_Open()
    Sheets("Junho").cmbTipo.Clear
    Sheets("Junho").Range("Y5").Select
    
    Do While ActiveCell.Value <> ""
            Sheets("Junho").cmbTipo.AddItem ActiveCell.Value
            ActiveCell.Offset(1, 0).Select
    Loop
    
    Sheets("Junho").cmbTipo.ListIndex = 0
    Sheets("Junho").Range("H5").Select
End Sub
Private Sub cmbTipo_Change()
    'Limpar ComboBox Descrição
    cmbDescricao.Clear
    
    'Selecionar célula para iniciar a busca dos dados
    If cmbTipo.Value = "Entrada" Then
        Range("Z5").Select
    Else
        Range("AA5").Select
    End If
    
    'Adicionar itens na ComboBox
    Do While ActiveCell.Value <> ""
        cmbDescricao.AddItem ActiveCell.Value
        ActiveCell.Offset(1, 0).Select
    Loop
    
    'Deixar primeiro item selecionado
    cmbDescricao.ListIndex = 0
    Range("H5").Select
End Sub
PARTE 3 - Criação de um extrato de lançamentos

Dim ultimaCelulaPreenchida  As Range

Private Sub btnInserir_Click()
    
    'Definir última célula  preenchida da coluna de Valor (Coluna C)
    Set ultimaCelulaPreenchida = Cells(Rows.Count, 3).End(xlUp)
    
    'Se não for o primeiro registro -> Deslocar dados para baixo
    If ultimaCelulaPreenchida.Row <> 8 Then
        ultimaCelulaPreenchida.Select
        Range("B9:C" & ultimaCelulaPreenchida.Row).Cut
        Range("B10").Select
        ActiveSheet.Paste
    End If
    
    Range("B9").Select
    
    'Atribuir descrição
    ActiveCell.Value = cmbDescricao.Value
    
    'Atribuir valor
    If cmbTipo.Value = "Entrada" Then
        ActiveCell.Offset(0, 1).Value = Range("H5").Value
        ActiveCell.Offset(0, 1).Interior.Color = RGB(153, 255, 153)
    Else 'Se for uma saída...
        ActiveCell.Offset(0, 1).Value = -Range("H5").Value
        ActiveCell.Offset(0, 1).Interior.Color = RGB(255, 153, 153)
    End If
    
    Range("H5").Select
End Sub
PARTE 4 - Uso de tabelas dinâmicas e gráfico dinâmico
'Atualizar as tabelas dinâmicas
For Each tabela In Sheets("Junho").PivotTables
    tabela.RefreshTable
    tabela.PivotFields("Lançamento").ClearAllFilters
    tabela.PivotFields("Lançamento").PivotItems("(blank)").Visible =         False
    
    'Personalizar a tabela de gastos
    If tabela.Name = "tabelaGastos" Then
        tabela.PivotFields("Lançamento").PivotFilters.Add             Type:=xlValueIsLessThanOrEqualTo, DataField:=tabela.PivotFields("Soma     de Valor"), Value1:=0
    End If

Next tabela

Apreenda! Implemente Agora: essa é uma categoria de vídeos do nosso canal do Youtube em que te ajudamos a desenvolver suas próprias soluções, são tutoriais práticos com tudo o que você precisa para implementar.

1 comentario


danielnaias
16 abr 2023

acompanhei e me meu uma ideia legal

Me gusta

©2020 por apreenda. Orgulhosamente criado com Wix.com

bottom of page