Ir ao conteúdo
  • Cadastre-se

Macro na seleção.


Posts recomendados

Bom dia amigos, como estão?

 

Primeiramente me desculpem se estou postando no lugar errado, etc... Ficaria contente em saber e me redimir.

 

 

Bem, sou bem leigo em relação a Macros do Excel e preciso de ajuda, talvez vocês consigam me ajudar.

 

 

É o seguinte: Eu trabalho com uma planilha onde são incluídas todos os dias cerca de 250 linhas. Nela, eu divido informações da coluna B (vou representar abaixo para um melhor entendimento).

 

A     B      C     D    E    F...

#    Cob   #      #    #    #....

        5

        5

        8

        8

       12

       12

 

Bom, o que eu preciso que a macro faça, é separar as informações (separar o 5 do 8 e o 8 do 12) inserindo uma linha. E nessas linhas que serão incluídas eu preciso de um auto-soma nas colunas L, N e P.

 

Eu consegui executar o Macro para "higienizar" essa planilha, mas quando chegou no dia seguinte e tive de incluir novas linhas, ele tornava para higienizar as linhas anteriormente gravadas na Macro 

 

Vou anexar um arquivo com modelo e o que eu desejo que seja feito. Só vou retirar as informações pessoais dos clientes aqui da Assessoria. 

 

 

Não sei se o que estou pedindo é muito ou mesmo possível, mas como é algo que eu necessito bastante, bom, quase nunca é ruim perguntar. Desde já sou imensamente grato por qualquer tentativa de ajuda que eu possa conseguir!

 

 

Um grande abraço!

Pasta2.xlsx

Link para o comentário
Compartilhar em outros sites

Experimenta essa.

 

1. A macro deve ser ativada quando a aba com os seus dados estiver ativa/selecionada.

2. Seus dados precisam começar na linha 2, assumindo portanto que existem cabeçalhos na linha 1.

Sub Macro()Dim y As Long, r As Longy = Cells(Rows.Count, 1).End(xlUp).Row + 1    For r = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1        If r = 2 Or (Cells(r, 2) <> Cells(r - 1, 2) And Cells(r, 2) <> "" And Cells(r - 1, 2)) Then            If r > 2 Then                y = y + 1                Rows(r).Insert            End If            Range("L" & y).Formula = "=SUM(L" & IIf(r = 2, r, r + 1) & ":L" & y - 1 & ")"            Range("N" & y).Formula = "=SUM(N" & IIf(r = 2, r, r + 1) & ":N" & y - 1 & ")"            Range("P" & y).Formula = "=SUM(P" & IIf(r = 2, r, r + 1) & ":P" & y - 1 & ")"            Rows(y).Font.Bold = True            Rows(y).Style = "Currency"            y = r        End If    Nexty = Cells(Rows.Count, 1).End(xlUp).Row + 2Range("H" & y) = "Total do Dia"Range("L" & y).Formula = "=SUM(L2:L" & y - 1 & ")/2"Range("N" & y).Formula = "=SUM(N2:N" & y - 1 & ")/2"Range("P" & y).Formula = "=SUM(P2:P" & y - 1 & ")/2"Rows(y).Font.Bold = TrueRows(y).Style = "Currency"End Sub
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa tarde Wendell, muito obrigado por seu retorno e desculpe a demora do meu, correria de início de mês é complicada.

 

 

Então, testei a sua Macro e ela rodou perfeitamente! Só houve um problema... Quando eu tenho incluir um novo dia na planilha, ou seja, incluir novos dados, ela não roda! Não sei se tem como fazer a Macro rodar em uma área selecionada na planilha ou a partir da célula selecionada (até que não hajam células com dados) ou se isso não é possível.

 

Se necessário eu posso anexar uma outra planilha com mais "dias" para que você entenda. 

 

Agradeço imensamente a sua ajuda.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...