Notifications
Clear all

Repetir comandoVBA "n" Vezes..?

9 Posts
2 Usuários
0 Reactions
1,544 Visualizações
(@tfeitosa)
Posts: 9
Active Member
Topic starter
 

Amigos,

Estou desenvolvendo uma aplicativo de Contas a pagar e me deparei com o primeiro desafio.

Quando eu lanço o valor da despesa tenho e seguinda a opção de informar a quantidade de parcela sendo "U" de Unica ou o numero de parcelas indicada.
Até ai tudo certo.
Hoje quando eu coloco numero de parcelas > 1 quando salvo o formulario ele pergunta se desejo fazer os lancamento das demais parcelas automaticamente.

Caso a resposta seja sim, tem um código que faz mais um lançamento ajustando a data para o proximo vencimento, contudo esse comando faz isso somente uma vez.

Meu desafio:
Fazer esse comando repetir de acordo com o numero de parcelas, ou seja, em 5 vezes, lançar mais 4 vezes ajustando a data.

Estou anexando meu exemplo para ajudar na interpretação

Obrigado amigos

 
Postado : 16/02/2015 11:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja se ajuda...não testado!

    
    If TxtParcela > 1 Then
    If MsgBox("Você Deseja Lançar os Próximos Vencimentos Automaticamente?", vbYesNo, "Sabores do México Paleteria") = vbYes Then
    For i = 1 To TxtParcela.Value 'Eu sou um loop e estou aqui
    Range("a1048576").Select
    Selection.End(xlUp).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Selection.End(xlToLeft).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Selection.End(xlToLeft).Select
    ActiveCell.Offset(0, 5).Select
    ActiveCell.FormulaR1C1 = "=EDATE(R[-1]C,1)"
     Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
        , SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'ActiveCell.FormulaR1C1 = "=EDATE(R[-1]C,1)"
    Next i  'Eu sou um loop e estou acabo aqui
    End If
    End If

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/02/2015 12:31 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Regras do forum:

Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando, limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto a gratuidade e não geração de recursos para bancar o site.

Assim sendo, todos os anexos deste tópico foram removidos.

Por favor leia as regras (link na minha assinatura), e passe a compactar todos os seus anexos.

Obrigado,

Fernando

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/02/2015 12:51 pm
(@tfeitosa)
Posts: 9
Active Member
Topic starter
 

Alexandre,

Muito obrigado amigo! Funcionou perfeitamente.. =)

Só ficou uma dúvida: Nesse exemplo o código faz de acordo a quantidade de parcelas que eu coloco.
Por Exemplo, se eu lanço algo em 8 vezes o loop repete o lançamento 8 vezes, como eu faço um lançamento manualmente fico com um total de 9.

Para eu resolver isso, simplesmente coloquei um comando para apagar o último registro.
Sabe me dizer como eu faria para não usar essa gambiarra de apagar o último?

Fazer o loop rodar "txtparcela - 1"

Muito obrigado amigo

 
Postado : 16/02/2015 1:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu fico feliz que você conseguiu resolver, obrigado pelo retorno!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/02/2015 3:05 pm
(@tfeitosa)
Posts: 9
Active Member
Topic starter
 

Amigos,

Estou me aventurando em desenvolver um aplicativo para contas a pagar (em primeiro momento) para mim mesmo e agora os desafios vem aparecendo com maior frequencia. heheheh Socorroooo!!!

Cheguei num nivel de dificuldade aninal (para meus conhecimentos limitados)

Meu formulario tem um campo de "numero de parcelas" quando esse campo possui um numero maior do que 1 ele calcula o vencimento das demais parcelas e informa certinho na base de dados. O que eu preciso agora é que ele informe qual numero da parcela versus a quantidade total de parcelas.

Não ideia nem por onde começar.

Exemplo:
Parcela 1/3
Parcela 2/3
Parcela 3/3

HOje se lanço algo em 3 parcelas ele informa
parcela 3
parcela 3
parcela 3

Obrigado desde ja (em anexo o arquivo)

Tiago

 
Postado : 17/02/2015 5:00 pm
(@tfeitosa)
Posts: 9
Active Member
Topic starter
 

Estou ainda "amarrado" no mesmo caso, mas agora com dúvida diferente.

Lançar todas as parcelas eu já consegui graças a sua rica ajuda, agora eu gostaria de enumerar essas parcelas, para que no relatório tenha um controle mais eficaz.

Colocar parcela 01/03
Parcela 02/03
parcela 03/03

Abração

 
Postado : 17/02/2015 7:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

tfeitosa

Eu fundi teus 2 tópicos, porque é continuação do assunto da dúvida anterior.
Outra coisa, você havia postado o novo tópico num local que não é permitido postar dúvida, pois é exclusivo para a apresentação do novos usuários do fórum.

Na próxima vez preste mais atenção, e observe qual é o assunto da dúvida para postar no local correto.

[]s

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/02/2015 4:33 pm
(@tfeitosa)
Posts: 9
Active Member
Topic starter
 

Patropi,

Por favor desculpe-me a desatenção ao postar dúvidas.
Sou novo por aqui, estou aprendendo utilizar o forum.
Não repetirei mais o descuido!

Sobre a dúvida de enumerar as parcelas, alguém tem alguma sugestão?

 
Postado : 19/02/2015 11:38 am