Notifications
Clear all

Criar coluna e acrescentar informação com validação

6 Posts
3 Usuários
0 Reactions
1,304 Visualizações
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Boa tarde,

Tenho uma dúvida e preciso de vossa ajuda.

Tenho uma sheet (Sheet1) com a seguinte informação (que muda todas as semanas):

Coluna A - Nº Empregado
Coluna B - Nome Empregado
Coluna C - Departamento
Coluna D - Função

Depois tenho uma sheet com informação fixa:

Coluna A - Nº Empregado
Coluna B - Situação (Ativo/não ativo - que aparece em branco)

Preciso de fazer macro em que vai criar (na sheet 1) uma coluna à direita (coluna E), com a "situação" e só atualizar nos empregados que se encontram na sheet 2. Não quero, nem posso, usar formulas na folha de excel para este efeito.

Alguem me pode ajudar? coloquei o arquivo para darem uma olhada.

 
Postado : 07/10/2015 12:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Só para um melhor entendimento, você quer criar uma Validação em Lista com "Ativo/não ativo" conforme a relação na Plan2 ou quer somente que se adicione o Status "Ativo" que é o que tem na plan2 ?

 
Postado : 07/10/2015 12:34 pm
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Só adicionar Mauro. Para mim bastava.

Obrigado

 
Postado : 07/10/2015 1:15 pm
(@mprudencio)
Posts: 0
New Member
 

Agora so para uma simples curiosidade pq nao usar formulas??????????

Se esta nao pode ser enviada a outras pessoas para que a formula nao se altere basta um simples copiar e colar valores

Se eu entendi bem um procv resolve com facilidade.

O unico trabalho é inserir a formula e arrastar sempre que for fazer um novo arquivo.

Depois copia e cola valores e pronto.

 
Postado : 07/10/2015 1:53 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Miguexcel, veja se é isto, a rotina utiliza o "Procv" - VLookup para pesquisar e retornar o valor correspondente.

Sub ProcuraAtivos()
    Dim item As Long
    Dim lin As Long
    Dim Lrows As Long
    
    lin = 1
    
    Lrows = Sheets("Sheet2").Range("A1048576").End(xlUp).Row 'verifica qual a ultima celula preenchida
    
    Do While 1
        
        lin = lin + 1
        item = Sheets("Sheet2").Cells(lin, 1).Value
        
        If item = 0 Then
            Exit Do
        Else
            Sheets("Sheet1").Cells(lin, 6) = Application.VLookup(item, Sheets("Sheet2").Range("A2:" & "B" & Lrows), 2, 0)
        End If
    
    Loop

End Sub
 
Postado : 07/10/2015 7:27 pm
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Valeu Mauro. Isso mesmo.

Muito Obrigado

 
Postado : 08/10/2015 3:52 pm