Notifications
Clear all

Macro com condições

10 Posts
3 Usuários
0 Reactions
1,660 Visualizações
(@ademoraes)
Posts: 5
Active Member
Topic starter
 

Bom dia pessoal do planilhando, estou começando agora em Excel e no fórum também.

Tenho uma pasta de trabalho com várias planilhas sendo que em uma das planilhas eu faço lançamentos de entradas e outra planilha recebe o total desses lançamentos. Todo fim de mês, quando vou fechar o caixa, preciso copiar as fórmulas de Janeiro para Fevereiro, voltar em Janeiro e colar valores, para que eu não perca a informação. Consegui fazer uma macro que realize esta operação. A dúvida é a seguinte, como criar um código para que a macro entenda que quando for Janeiro, ela faça este procedimento para Fevereiro e assim por diante, incluindo no fim de ano, de Dezembro para Janeiro novamente.

Em anexo está uma amostra só que sem as fórmulas pois a pasta toda pesa 40 mega +- de informações internas.

Se alguém puder contribuir fico grato.

Obs. Todo o "sistema" já havia sido criado quando cheguei para trabalhar...

 
Postado : 08/01/2014 7:57 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Anderson,

Sua explicação está muito genérica... não da para saber o que você realmente precisa. Entretanto, respondendo também de forma genérica, segue uma função que descobre qual é o mês em que se está, pelo relógio do micro, e uma procedure de como utilizar.

Function MesAtual() As String
    Select Case Month(Date)
    Case 1
        MesAtual = "JANEIRO"
    Case 2
        MesAtual = "FEVEREIRO"
    Case 3
        MesAtual = "MARÇO"
    Case 4
        MesAtual = "ABRIL"
    Case 5
        MesAtual = "MAIO"
    Case 6
        MesAtual = "JUNHO"
    Case 7
        MesAtual = "JULHO"
    Case 8
        MesAtual = "AGOSTO"
    Case 9
        MesAtual = "SETEMBRO"
    Case 10
        MesAtual = "OUTUBRO"
    Case 11
        MesAtual = "NOVEMBRO"
    Case 12
        MesAtual = "DEZEMBRO"
    End Select
End Function
Sub teste()
    'Exemplo de como deve utilizar a função
    If MesAtual = "JANEIRO" Then
        MsgBox "Aqui devem entrar seus comandos"
    End If
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/01/2014 10:43 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Ademoraes

Estou movendo teu tópico para o sub fórum VBA& Macros, pois aqui é exclusivo para fórmulas e funções.

At.te

Patropi - Moderador

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

 
Postado : 08/01/2014 11:08 am
(@ademoraes)
Posts: 5
Active Member
Topic starter
 

Wagner Morel, sua resposta foi extremamente útil, no entanto eu não sei o que fazer com esse código todo, mas é como disse, sou novo (novinho em folha, he he) em Excel. Vou continuar estudando a situação e tentar aplicar a sua solução, não passo a pasta de trabalho pois são dados confidenciais.

 
Postado : 08/01/2014 11:35 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Descaracterize nomes e dados mais específicos (com o substituir), compacte o arquivo e anexe o mesmo aqui.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/01/2014 2:11 pm
(@ademoraes)
Posts: 5
Active Member
Topic starter
 

Boa tarde, em primeiro lugar, obrigado pelo interesse em me ajudar, estou muito feliz por isso.

Caro Wagner, segue anexo o meu "problema", como explicado anteriormente, quero uma macro que copie os dados de Janeiro de "D13" até "D113" e cole ao lado direito, no caso, fevereiro, volte em janeiro e cole valores (só os números, sem as fórmulas). Eu quero que essa macro entenda que, quando os dados estiverem em fevereiro ela deve fazer o mesmo processo para março e assim por diante, incluindo quando estiver em Dezembro, voltar para Janeiro.

Obs 1: Eu só consigo fazer ela ir de um mês para o outro, assim teria que criar 12 botões...

Obs 2: Eu inclusive criei um, está no canto direito superior da tela, não sei se resolve ele estar lá...

Desde já grato.

 
Postado : 08/01/2014 3:17 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Anderson,

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/01/2014 10:27 pm
(@ademoraes)
Posts: 5
Active Member
Topic starter
 

Ficou perfeita Wagner. Com o pouquíssimo que conheço de VBA eu nunca chegaria neste resultado. Obrigado mesmo!

Se não for incomodar, tens como me mandar um .txt, ou o próprio exemplo comentado? Tipo, o que faz cada um dos comandos que você programou, acredito que ajudaria em muito o meu estudo e melhor compreensão de macros deste nível.

E-mail: [email protected]

Mais uma vez, obrigado.

Anderson de Moraes

 
Postado : 09/01/2014 8:31 am
(@ademoraes)
Posts: 5
Active Member
Topic starter
 

Wagner,

consegui, entendi a macro e implementei para as minhas necessidades. Obrigado.

Anderson de Moraes

 
Postado : 09/01/2014 1:27 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

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

 
Postado : 09/01/2014 3:51 pm