Notifications
Clear all

Criar subitens para cada item sem macro

13 Posts
4 Usuários
0 Reactions
2,103 Visualizações
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

Ola boa tarde a todos!

É possível eu ter 2 tabelas simples assim

tabela 1

AMARELO
VERDE
AZUL

e tabela 2, que seriam os subitens|:

A
B
C
D
E

E automaticamente criar uma tabela
assim:

AMERELO A
AMARELO B
AMARELO C
AMARELO D
AMARELO E
VERDE A
VERDE B
VERDE C
VERDE D
VERDE E
etc...

ou então

AMARELO A
VERDE A
AZUL A
AMARELO B
VERDE B
AZUL C
etc....
 
Postado : 03/11/2015 2:16 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Considerando que os dados (A, B, C, D) estão em C.
Tente a formula

=ÍNDICE($C$1:$C$4;MOD(LIN(A1)-1;4)+1)

Arrate para baixo!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/11/2015 2:38 pm
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

Não foi

E os dados
AMARELO
VERDE
AZUL?

Que dai sim iriam criar para cada um deles a letrea A B C e D?

 
Postado : 03/11/2015 3:03 pm
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

Estou quase conseguindo

Vc sabe como repito o valor A durante 4 linhas e a partir da quinta linha começar o B e repetir o B por 4 vezes, e assim vai...?

 
Postado : 03/11/2015 4:03 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

xinxilas,

Bom... fiz com código VBA. Se servir, é só falar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/11/2015 4:05 pm
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

@Wagner Morel
Eu ja consegui o que queria mas vamos ver se na pratica com Macro acaba sendo melhor pode ser?
Quero sim pode mandar?

@alexandrevba
Depois de algum tempo usando a mesma logica e manhas, consegui fazer essa formula:

=ÍNDICE($B$1:$B$4;MOD(INT((LIN(A1)-1)/CONT.VALORES($A$1:$A$6));CONT.VALORES($B$1:$B$4))+1)&" "&ÍNDICE($A$1:$A$6;MOD(LIN(A1)-1;6)+1)

Mas se ainda tiver uma forma mais enxuta agradeço!

Tem 2 colunas:
A(6 linhas na coluna A):
AMARELO
AZUL
VERMELHA
ROXO
LILAS
ROSA

B(4 linhas na coluna B)
A
B
C
D

Ai usando essa formula em A1 e arrastando pra baixo
A AMARELO
A AZUL
A VERMELHA
A ROXO
A LILAS
A ROSA
B AMARELO
B AZUL
B VERMELHA
B ROXO
B LILAS
B ROSA
C AMARELO
C AZUL
C VERMELHA
C ROXO
C LILAS
C ROSA
D AMARELO
D AZUL
D VERMELHA
D ROXO
D LILAS
D ROSA

 
Postado : 03/11/2015 5:12 pm
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

arrumando uma coisa:

=ÍNDICE($B$1:$B$4;MOD(INT((LIN(A1)-1)/CONT.VALORES($A$1:$A$6));CONT.VALORES($B$1:$B$4))+1)&" "&ÍNDICE($A$1:$A$6;MOD(LIN(A1)-1;CONT.VALORES($A$1:$A$6)+1)
 
Postado : 03/11/2015 5:21 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ok.

Segue minha sugestão.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/11/2015 5:47 pm
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

Muito bom ja vou usar

Eu gostaria de fazer uma coisa, dentro do For quando cria os itens, verificar se quero adicionar o item ou não de acordo com outra tabela que vou acessar usando procv

Exemplo:

ADICIONAR? | SIM OU N
AMARELO | 1
VERDE | 0
AZUL | 1

Dai ele só adiciona se tiver 1 na tabela, vc pode me ajudar?

 
Postado : 04/11/2015 6:07 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

xinxilas,

Bom dia!

Nesse caso, se entendi corretamente, só cria uma nova linha na aba Resultados se na tabela cores tiver o número 1. Correto? Se for assim, segue já com a alteração solicitada.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/11/2015 6:32 am
(@xinxilas)
Posts: 26
Eminent Member
Topic starter
 

Seria isso, mas preciso traduzir

If procv( Sheets("Cores").Range("B" & i).Value ; Tabela1 ; 2 ; 1 ) .value Then

pra ser usando em Vba

    For i = 2 To UltimaLinhaCores
        For j = 2 To UltimaLinhaCódigos
            If procv( Sheets("Cores").Range("A" & i).Value ; Tabela1 ; 2 ; 1 ) .value Then
                Sheets("Resultados").Range("A" & LinhaResultados).Value = Sheets("Cores").Range("A" & i).Value & " " & Sheets("Códigos").Range("A" & j).Value
                LinhaResultados = LinhaResultados + 1
            End If
        Next
    Next
    MsgBox "A nova tabela foi criada na aba Resultados!", vbDefaultButton1, "DADOS COPIADOS"
End Sub

TABELA1 seria isso:

Coluna A		|	Coluna B
AMARELO		|	1
VERDE		|	0
AZUL			|	1
 
Postado : 04/11/2015 7:06 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Vamos ver se entendi agora.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/11/2015 7:46 am
Weslley
(@weslley)
Posts: 90
Trusted Member
 

Olá exólogos rs,

Segue minha contribuição.

Era isso que você esperava !?

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar

Atenciosamente,

Weslley Henrique S.S.
MOS (Microsoft Office Specialist)

"O impossível é uma questão de tempo!"
(Alberto Saltiel)

 
Postado : 04/11/2015 12:14 pm