Página 1 de 1

Lançamento de Despesa Com Parcelas

Enviado: 01 Jul 2016 às 19:43
por Voiiz
Boa Noite ! Pessoal tudo bem ? Sou novo aqui. Estou criando uma planilha de fluxo de caixa e ela estava pronta ate o momento, mas sempre vem uma nova ideia, pois bem vamos a essa nova ideia.

Minha planilha lança Despesas e Receitas por VBA. Ao lançar uma Despesa que seja PARCELADA queria que ao lançar ela na aba onde recebem os DADOS recebe os dados e as possiveis parcelas. Digamos

COMPREI 1 TÊNIS DA NIKE EM 10X NO VALOR DE R$1000,00

Na aba DADOS hoje recebe desta maneira

Código: Selecionar todos
0001	CartãodeCrédito	Santander	TENIS NIKE	Despesa	10	999,00	maio	2016	30/06/2016	30/06/2016	09/07/2016
Pois bem ao tentar lançar as parcelas queria que a aba DADOS recebe-se desta forma



Código: Selecionar todos
0002	CartãodeCrédito	Santander	TENIS NIKE	Despesa	1	100,00	maio		2016	30/06/2016	30/06/2016	09/07/2016

0003	CartãodeCrédito	Santander	TENIS NIKE	Despesa	2	100,00	junho		2016	30/06/2016	30/06/2016	09/08/2016

0004	CartãodeCrédito	Santander	TENIS NIKE	Despesa	3	100,00	julho		2016	30/06/2016	30/06/2016	09/09/2016

0005	CartãodeCrédito	Santander	TENIS NIKE	Despesa	4	100,00	agosto	2016	30/06/2016	30/06/2016	09/10/2016

0006	CartãodeCrédito	Santander	TENIS NIKE	Despesa	5	100,00	setembro	2016	30/06/2016	30/06/2016	09/11/2016

0007	CartãodeCrédito	Santander	TENIS NIKE	Despesa	6	100,00	outubro	2016	30/06/2016	30/06/2016	09/12/2016

0008	CartãodeCrédito	Santander	TENIS NIKE	Despesa	7	100,00	novembro	2016	30/06/2016	30/06/2016	09/01/2017

0009	CartãodeCrédito	Santander	TENIS NIKE	Despesa	8	100,00	dezembro	2016	30/06/2016	30/06/2016	09/02/2017

0010	CartãodeCrédito	Santander	TENIS NIKE	Despesa	9	100,00	janeiro	2016	30/06/2016	30/06/2016	09/03/2017

0011	CartãodeCrédito	Santander	TENIS NIKE	Despesa	10	100,00	fevereiro	2016	30/06/2016	30/06/2016	09/04/2017




Vou disponibilizar a planilha para melhor entendimento visual... estes lançamentos mensais eu fiz um por um. Também estava criando uma mensagem visual para perguntar sobre o lançamento, mas não o finalizei

Lançamento de Despesa Com Parcelas

Enviado: 08 Jul 2016 às 19:51
por DJunqueira
Tá bacana a tabela, mas penso q o q vc quer fazer talvez não seja a melhor solução.

Re: Lançamento de Despesa Com Parcelas

Enviado: 09 Jul 2016 às 10:34
por Reinaldo
Uma possibilidade:
Código: Selecionar todos
.......
If DESPESA = vbNo Then MsgBox "Não erre o Lançamento das Despesas"

If DESPESA = vbYes Then

    If shtPainel.Range("Receita") = "" Then
        For x = 1 To shtPainel.Range("QntdParcelas").Value
            shtDados.Cells(Linha, "A") = Conte
            shtDados.Cells(Linha, "B") = shtPainel.Range("CategoriaDespesa").Value
            shtDados.Cells(Linha, "C") = shtPainel.Range("Despesa").Value
            shtDados.Cells(Linha, "E") = "Despesa"
            shtDados.Cells(Linha, "J") = CDate(Format(Now, "dd/mm/yyyy"))
            shtDados.Cells(Linha, "K") = shtPainel.Range("DatacOMPRA").Value
            If x = 1 Then
                shtDados.Cells(Linha, "L") = CDate(shtPainel.Range("DataVencimento").Value)
            Else
                shtDados.Cells(Linha, "L") = VBA.DateAdd("m", x - 1, CDate(shtPainel.Range("DataVencimento")))
            End If
            shtDados.Cells(Linha, "D") = shtPainel.Range("Descrição").Value
            shtDados.Cells(Linha, "F") = x 'shtPainel.Range("QntdParcelas").Value
            shtDados.Cells(Linha, "G") = shtPainel.Range("Valor").Value / shtPainel.Range("QntdParcelas").Value
        
            If shtPainel.Range("Mes") = "" Then
                shtDados.Cells(Linha, "H") = MonthName(Month(Now))
            Else
                shtDados.Cells(Linha, "H") = LCase(shtPainel.Range("Mes").Value)
            End If
    
            If shtPainel.Range("Ano") = "" Then
                shtDados.Cells(Linha, "I") = Year(Now)
            Else
                shtDados.Cells(Linha, "I") = shtPainel.Range("Ano").Text
            End If
        Conte = Conte + 1
        Linha = Linha + 1
        Next
    End If
    MsgBox "Lançamento da Despesa Efetuado"
End If

'End If.....

Re: Lançamento de Despesa Com Parcelas

Enviado: 10 Jul 2016 às 23:59
por Voiiz
@Reinaldo Obrigado!! Vou testar aqui, estava sem internet por estar em mudança para nova casa.. Assim que testar vou te dar um feedback.

Obrigado pela ajuda

Re: Lançamento de Despesa Com Parcelas

Enviado: 13 Jul 2016 às 20:20
por Voiiz
Meu caro!! A questão dos meses teria como eles mudarem ? Eu fiz e ficou Show, mas o MÊS em si "JUNHO.JULHO...." eles não mudam. Como eu poderia fazer isso ? Eu fiz um teste mas acabei ferrando toda planilha :'( não sei como o FOR funciona
Reinaldo escreveu:Uma possibilidade:
Código: Selecionar todos
.......
If DESPESA = vbNo Then MsgBox "Não erre o Lançamento das Despesas"

If DESPESA = vbYes Then

    If shtPainel.Range("Receita") = "" Then
        For x = 1 To shtPainel.Range("QntdParcelas").Value
            shtDados.Cells(Linha, "A") = Conte
            shtDados.Cells(Linha, "B") = shtPainel.Range("CategoriaDespesa").Value
            shtDados.Cells(Linha, "C") = shtPainel.Range("Despesa").Value
            shtDados.Cells(Linha, "E") = "Despesa"
            shtDados.Cells(Linha, "J") = CDate(Format(Now, "dd/mm/yyyy"))
            shtDados.Cells(Linha, "K") = shtPainel.Range("DatacOMPRA").Value
            If x = 1 Then
                shtDados.Cells(Linha, "L") = CDate(shtPainel.Range("DataVencimento").Value)
            Else
                shtDados.Cells(Linha, "L") = VBA.DateAdd("m", x - 1, CDate(shtPainel.Range("DataVencimento")))
            End If
            shtDados.Cells(Linha, "D") = shtPainel.Range("Descrição").Value
            shtDados.Cells(Linha, "F") = x 'shtPainel.Range("QntdParcelas").Value
            shtDados.Cells(Linha, "G") = shtPainel.Range("Valor").Value / shtPainel.Range("QntdParcelas").Value
        
            If shtPainel.Range("Mes") = "" Then
                shtDados.Cells(Linha, "H") = MonthName(Month(Now))
            Else
                shtDados.Cells(Linha, "H") = LCase(shtPainel.Range("Mes").Value)
            End If
    
            If shtPainel.Range("Ano") = "" Then
                shtDados.Cells(Linha, "I") = Year(Now)
            Else
                shtDados.Cells(Linha, "I") = shtPainel.Range("Ano").Text
            End If
        Conte = Conte + 1
        Linha = Linha + 1
        Next
    End If
    MsgBox "Lançamento da Despesa Efetuado"
End If

'End If.....