Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Por gabrieldjm
#3654
Olá galera, tudo certo?

Gostaria de uma ajuda de vocês, preciso identificar quais são os produtos que as pessoas compram juntos, muitas vezes o pedido aparece 3 vezes, 2 vezes, por conta da pessoa ter comprado mais de 1 produto.

Coluna A: Pedidos
Coluna B: Modelos

A ideia é juntar os modelos e deixar tudo "concatenado" em uma única linha do pedido.
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por alexandrevba
Avatar
#3656
Boa tarde!!!

Serve via VBA?
Código: Selecionar todos
Sub AleVBA_664() 
    Dim a, b(), i As Long, n As Long, w(), maxCol As Integer 
    With Range("a1").CurrentRegion.Resize(,2) 
        a = .Value 
        .ClearContents 
    End With 
    Redim b(1 To UBound(a,1), 1 To UBound(a,1) * UBound(a,2)) 
    With CreateObject("Scripting.Dictionary") 
        For i = 1 To UBound(a,1) 
            If Not .exists(a(i,1)) Then 
                n = n + 1 : b(n,1) = a(i,1) : .add a(i,1), Array(n,2) 
            End If 
            w = .item(a(i,1)) 
            b(w(0),w(1)) = a(i,2) 
            w(1) = w(1) + 1 
            .item(a(i,1)) = w 
            maxCol = WorksheetFunction.Max(maxCol, w(1)) 
        Next 
    End With 
    Range("a1").Resize(n, maxCol).Value = b 
End Sub 
Com seu arquivo aberto aperte as teclas Alt + F11, para entrar no EditorVB, depois insira um módudo, usando as teclas Alt+I+M, depois cole o código, após isso aperte a tecla F5
Por gabrieldjm
#3658
:o :roll: :?: Como você conseguiu? Muito obrigado Alexandre, quando eu tenho uma planilha com um número maior de dados ele me apresenta um erro.

"Out of memory"

O que fazer nesse caso? Poderia me explicar como foi feito essa macro, muito interessante.

Obrigado,
Avatar do usuário
Por alexandrevba
Avatar
#3672
Boa noite!!!

Poste um arquivo modelo contendo os dados fictícios para eu eu possa verificar.

Qual versão você está usando?

Att
Por gabrieldjm
#3729
Estou usando a versão 2013.

Segue o arquivo em anexo

Obrigado pela força
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Vidal
Posts Avatar
#3743
Criei esta forma de resolver sem VBA apenas como opcional para aqueles como eu que não conhecem de VBA. Espero que possa ajudar...
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por alexandrevba
Avatar
#3764
Bom dia!!

O excel tem um limite de colunas As colunas Max é 16384 (na versão 2010) , 256 colunas (na versão 2000).


Att
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord