Ir ao conteúdo
  • Cadastre-se

Excel Retornar grupos únicos e somar as notas dos grupos


Ir à solução Resolvido por Patropi,

Posts recomendados

Boa tarde pessoal, sou novo aqui e esse é o meu primeiro post no fórum, espero estar fazendo da forma correta.

 

Bom, estou com uma certa dificuldade quanto a criar uma macro que me retorne grupos únicos (agrupados), e na frente somando-se as notas de cada grupo, e precisaria que isso fosse em VBA, alguém poderia me ajudar? 

 

image.png.5a99d327773be5739d12582df403e90f.png 

 

Exemplo:

 

Grupo 1: 10 + 10

Grupo 2: 8 + 5 + 10

Grupo 3: 5 + 7 + 9 + 9

 

Desde já, fico muito agradecido!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Boa tarde @LhoSanca

 

Seja bem-vindo ao fórum!

 

O código foi aplicado na mesma planilha que eu postei no tópico com formula.

Confira na planilha  e dê retorno.

 

Não se esqueça de clicar em Curtir.

 

[]s

01_02_18_Retornar unicos e somar_Patropi.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Eu consegui passar para outra planilha, só que tá dando um probleminha que ele fica em um loop infinito na planilha onde eu mando o resumo, e ai fica mandando zero depois dos dados resumidos.

 

image.png.9987f8dd7bfa8cf1ad24ff35f2362840.png

 

 

Sub ResumoRelatorioAno()

 Dim c As Range

  Planilha2.Range("B11:B" & Cells(Rows.Count, 10).End(1).Row).Copy Sheets("RELATORIO_ANO").[B11]
  Sheets("RELATORIO_ANO").Activate
  Planilha3.Range("B11:B50").RemoveDuplicates Columns:=1, Header:=xlNo

   For Each c In Planilha3.Range("B11:B" & Cells(Rows.Count, 3).End(3).Row)
   
        c.Offset(, 1).Value = Application.SumIf(Planilha2.Range("B:B"), c.Value, Planilha2.Range("G:G"))
        c.Offset(, 2).Value = Application.SumIf(Planilha2.Range("B:B"), c.Value, Planilha2.Range("M:M"))
        c.Offset(, 3).Value = Application.SumIf(Planilha2.Range("B:B"), c.Value, Planilha2.Range("N:N"))

   Next c


End Sub
 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boa noite

 

Baseado na planilha que postei, mantenha na Plan1 o botão que aciona a macro, substitua o código por este:

Sub ListaSemRepetição()
 Dim c As Range
  Range("A2:A" & Cells(Rows.Count, 1).End(3).Row).Copy Sheets("Plan2").[H2]
  With Sheets("Plan2")
   .Range("H:H").RemoveDuplicates Columns:=1, Header:=xlYes
   For Each c In .Range("H2:H" & .Cells(Rows.Count, 8).End(3).Row)
    c.Offset(, 1).Value = Application.SumIf([A:A], c.Value, [B:B])
   Next c
  End With
End Sub

Não se esqueça de clicar em Curtir.

 

[]s

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Patropi cara, sou eu mais uma vez kkkk, eu tô com problemas quando eu tenho algo escrito em cima, vou anexar a planilha seguindo o mesmo esquema que você me mandou, se conseguir dar uma olhada, acredito que seja por conta do .end que seleciona de baixo para cima e faz a contagem, mas quando tenho algo a cima da tabela que estou trabalhando ele considera também, eu precisaria que fosse somente na tabela de trabalho.

 

 

Retornar_unicos_e_somar.zip

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...