Ir para conteúdo
Fórum Script Brasil
  • 0

agregar dados em VBA excel


biza

Pergunta

Boa tarde, 

tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.

Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.

Será que alguém me pode auxiliar a resolver isto obrigado

Screenshot 2024-04-18 at 15.03.31.png

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Viva  Alyson, 

Obrigado por sua resposta , o porque de usar VBA... Estou tentando criar uma extensa lista automatizada, que poderá criar automaticamente a extração dos dados e organizar os mesmo em bruto alimentado as diversas folhas de forma automática, dai a questão. A ideia era obter aproximação deste tipo de tarefa em código, para na raiz do motor que gera as diferentes folhas rodar agregação de dados , para cada uma das folhas criadas, uma vez que cada um dos workbooks, será criado tendo em conta o "COST CENTER"

Link para o comentário
Compartilhar em outros sites

  • 0
Em 18/04/2024 em 17:11, biza disse:

Boa tarde, 

tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.

Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.

Será que alguém me pode auxiliar a resolver isto obrigado

Screenshot 2024-04-18 at 15.03.31.png

Tenho acompanhado algumas discussões do fórum enquanto aproveito meu tempo livre — inclusive quando estou relaxando com alguns bônus interessantes no mostbet bônus — e vi o teu problema com VBA.

Boa tarde!

Pelo que entendi, você precisa agrupar os dados e somar os valores correspondentes usando VBA, transformando uma lista “massiva” em uma tabela resumida, semelhante ao exemplo da imagem.

Uma abordagem simples e eficiente é usar um Dictionary para ir acumulando os valores por cada chave (por exemplo, por categoria, código, ou o campo que estiver na primeira coluna). Depois, basta escrever o resultado consolidado numa nova área da planilha.

Aqui vai um exemplo de código VBA que costuma resolver exatamente esse tipo de problema:

 
 
Sub AgruparESomar() Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Dados") ' ajustar nome da folha Dim ultimaLinha As Long ultimaLinha = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim i As Long Dim chave As String Dim valor As Double ' Ler dados da lista original For i = 2 To ultimaLinha ' assumindo cabeçalho na linha 1 chave = ws.Cells(i, 1).Value valor = ws.Cells(i, 2).Value If dict.exists(chave) Then dict(chave) = dict(chave) + valor Else dict.Add chave, valor End If Next i ' Escrever resultado Dim linhaSaida As Long linhaSaida = 2 ' onde começar a saída Dim k As Variant For Each k In dict.Keys ws.Cells(linhaSaida, 4).Value = k ' coluna D = chave ws.Cells(linhaSaida, 5).Value = dict(k) ' coluna E = soma linhaSaida = linhaSaida + 1 Next k MsgBox "Processo concluído!" End Sub

Como funciona:

  • Lê cada linha da tabela original.

  • Usa o Dictionary para somar valores repetidos.

  • Escreve o resultado agrupado numa nova parte da planilha.

Caso precise adaptar para mais colunas, somar vários campos ou usar critérios diferentes, posso ajustar o código conforme a sua estrutura de dados.
Se puder, envie os nomes das colunas ou um exemplo textual da tabela!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,4k
×
×
  • Criar Novo...