Notifications
Clear all

Contar o valor de uma celula e repetir a quantidade em outra

6 Posts
3 Usuários
0 Reactions
1,610 Visualizações
(@silverio)
Posts: 50
Trusted Member
Topic starter
 

Boa tarde!!

Preciso de uma macro que verifique o valor da coluna A e coloque em outra aba a quantiade da coluna A o valor da coluna B, ex.:

Está em uma aba.
Coluna A coluna B
5 a
3 b
2 c

em outra aba ficaria:
a
a
a
a
a
b
b
b
c
c

é possivel?

 
Postado : 11/10/2016 9:09 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Sim é possível.

De uma olhada no Módulo 1 do arquivo em anexo.

att,

 
Postado : 11/10/2016 10:03 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
brunoxro, vc testou isto?? k ... Faltou um botão na plan ... mesmo após descobrir código, e executá-lo, não funcionou como ele pediu!!

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

 
Postado : 11/10/2016 8:38 pm
(@silverio)
Posts: 50
Trusted Member
Topic starter
 

Não está funcionando direito, não esta executando todos os valores e nem a quantidade especificada.

 
Postado : 11/10/2016 11:38 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

.
brunoxro, vc testou isto?? k ... Faltou um botão na plan ... mesmo após descobrir código, e executá-lo, não funcionou como ele pediu!!

Testei e está funcionando perfeitamente para o exemplo dele, não coloquei um botão na planilha mas disse que o código está no módulo 1 então para quem leu minha mensagem não precisaria ficar "descobrindo" o código.

Não está funcionando direito, não esta executando todos os valores e nem a quantidade especificada.

Silverio, não sei seu nível de conhecimento de VBA e não tinha colocado comentários na macro por isso vou explicar melhor agora.

Sub ContarERepetir()

    'Nomeio as variáveis que vou utilizar
    Dim k        As Double
    Dim i        As Double
    Dim Valor    As String
    Dim x        As Double
    
    'Referência do valor última linha
    Dim Ulin01   As Double
    
    'Coloco nessa variável o valor da última linha _
    ocupada da coluna A para o contador. Note que caso sua planilha _
    tenha um nome diferente você terá que mudar.
    Ulin01 = Sheets("Planilha1").Range("A1048575").End(xlUp).Row
    
    'Começa o For
    For i = 1 To Ulin01
        
        'Pega o valor presente na célula de linha i _
        e coluna 1. Só aceita números, se colocar um texto _
        na coluna 1(A) vai ocorrer um erro.
        x = CDbl(Cells(i, 1).Value)
        'Pega o valor presente na célula de linha i _
        e coluna 2. Aceita textos, número...
        Valor = CStr(Cells(i, 2).Value)
        
        'Seleciona a planilha 2
        Sheets("Planilha2").Select
        'Partindo da última linha e subindo, _
        vai desce uma e selecionar
        Range("A104958").End(xlUp).Offset(1, 0).Select
        
        'Vai repetir o Valor, x vezes nas linhas
        For k = 1 To x
            With ActiveCell
                'A célula selecionada recebe o Valor
                .Value = Valor
            End With
            'Desce um linha e seleciona ela
            ActiveCell.Offset(1, 0).Select
        Next k
    
        'Volta na planilha 1
        Sheets("Planilha1").Select
        
    Next i
    
End Sub

Em anexo coloquei a planilha comentada, e se achar mais fácil coloquei dois botões um para executar o código e outro para limpar os dados que foram gerados.
Note que os dados estão na coluna A e B da Planilha1 e o resultado na coluna A da Planilha2 e você deve limpar os dados da Planilha2 antes de rodar o código.

Com certeza existe várias formas de fazer esse processo no VBA, caso esteja com dificuldade em adaptar o código para a sua planilha de trabalho basta anexar ela (não precisa ser inteira) e posso pensar em como adaptar.

att,

 
Postado : 12/10/2016 10:10 am
(@silverio)
Posts: 50
Trusted Member
Topic starter
 

Obrigado, agora deu certo.

 
Postado : 12/10/2016 10:22 am