Notifications
Clear all

Criar blocos de acordo com o valor de uma célula

7 Posts
3 Usuários
0 Reactions
1,365 Visualizações
(@chimirra)
Posts: 0
New Member
Topic starter
 

Boa tarde, gurus!

Eu possuo uma sequencia de nomes na coluna A e gostaria de separa-los em blocos de acordo com o valor indicado na célula C1.

Exemplo:

Coluna A
João
Maria
Fernando
Mario
Luis
Sergio
Felipe
Homero

Quando a célula C1 = 3, dividir em 3 grupos, sendo 2 com 3 nomes e 1 com 2 nomes. (os grupos podem ser apresentados em sequencia numa coluna só, mas inidcando com numero ou letra para diferencia-los)

Resultado esperado para o exemplo:

Coluna D Coluna E
A ou 1 João
A ou 1 Maria
A ou 1 Fernando
B ou 2 Mario ...

OBS: tanto a quantidade de nomes na coluna quanto o valor da célula C1 pode ser variável.

Obrigado pelo apoio.
Chimirra

 
Postado : 21/11/2016 12:13 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!

Tente esse código do MVP Jerry Beaucaire
Fonte: https://sites.google.com/a/madrocketscientist.com/jerrybeaucaires-excelassistant/parse-functions/column-to-columns

Sub ColumnToColumns()
'Jerry Beaucaire, 5/16/2012
'Take a column of values and split into multiple columns by X cells
Dim X As Long, RNG As Range, Grp As Long
X = Application.InputBox("Quantas células você deseja agrupar?", "Agrupamento", 3, Type:=1)
If X = 0 Then Exit Sub

Set RNG = Range("A1", Range("A" & Rows.Count).End(xlUp))

For Grp = 1 To RNG.Rows.Count Step X
    RNG.Cells(Grp).Resize(X).Copy Cells(1, Columns.Count).End(xlToLeft).Offset(, 1)
Next Grp

End Sub

Att

 
Postado : 21/11/2016 4:53 pm
(@chimirra)
Posts: 0
New Member
Topic starter
 

Olá Alexandre

Eu achei um código que faz quase o que eu preciso só precisa de um ajuste, como eu não conheço muito de VBA talvez você possa me ajudar a deixar o código 100%.

Anexei uma planilha com o exemplo e explicando o que eu preciso, se você puder, por favor, dê uma olhada e me quem sabe me ajude.

Obrigado
Abs

 
Postado : 22/11/2016 6:35 am
(@brunoxro)
Posts: 0
New Member
 

Boa tarde Chimirra,

De uma olhada na alteração que coloquei no seu código.

Colocar letras na coluna I é mais limitado do que colocado números. Se você colocar um valor maior que 26 na célula E3 será necessário alterar o código.

Teste e de retorno.

att,

 
Postado : 23/11/2016 11:29 am
(@chimirra)
Posts: 0
New Member
Topic starter
 

Boa noite, Bruno!

Ficou ótimo!!

Como podemos fazer para o código incluir uma letra a mais ao final das 26 letras? AA, AB ...

Obrigado pelo apoio.
Abs
Chimirra

 
Postado : 23/11/2016 6:01 pm
(@brunoxro)
Posts: 0
New Member
 

Boa noite Chimirra,

No caso montei o código para ir pegando pelo 'endereço' das colunas, tem que colocar um IF e Elseif(dê uma olhada no arquivo em anexo).
Coloquei para pegar até a ZZ (702 colunas).

att,

 
Postado : 23/11/2016 6:18 pm
(@chimirra)
Posts: 0
New Member
Topic starter
 

Bruno,

Ficou excelente!!!

Muito obrigado pelo apoio!!!

Abs

 
Postado : 23/11/2016 6:47 pm