Ir ao conteúdo

Posts recomendados

Postado

Bom dia pessoal ! 

 Gostaria de compartilhar uma dúvida e tentar uma ajuda !

 Primeiramente, eu não posso enviar a planilha aqui pois estou em ambiente corporativo onde sou proibido de compartilhar arquivos, qualquer que seja.

 Bom vamos lá, abaixo tenho as duas tabelas :

 

A                                                 B

SM-A2323                           SM-A2323

SM-A5890                           SM-A6060

SM-A6060                           SM-A8080

 

Eu preciso fazer a checagem de cada celula da coluna A que esta na Pan1, se contem na coluna B da Plan2.

Se o valor de alguma célula da coluna A da Plan1, não existir na coluna B da Plan 2, na coluna B da plan 2, inserir um linha, adicionar o valor que não existe ordena em ordem alfabética.

 

 Parece simples, mas não consegui desenvolver um código simples pra isso.

 Poderiam me ajudar com isso?

 

 

Muito obrigado ! 

Postado

Tentei isso mas não deu certo :

 

 

Dim r As Range

Set r = Worksheets(3).Range("D5:D80")   -> Ex: seria a coluna A, plan1

For Each r In Range("B4:" & Range("B4").End(xlDown).Address) -> Ex: coluna B, plan2

 If r Is Nothing Then
  Worksheets(4).Range("B4").Select
   Selection.Insert
    ActiveCell.Value = r
 End If
Next r

Postado

@Ismael Souza Fiz de uma forma fácil de adaptar, veja se resolve.

 

Sub Macro()
    Dim A, B, R As Object
        
    Set A = ThisWorkbook.Worksheets("Plan1")
    Set B = ThisWorkbook.Worksheets("Plan2")
        
    For Each R In A.[A1:A3]
        If B.[B:B].Find(R) Is Nothing Then
            B.[B1048576].End(xlUp).Offset(1) = R
        End If
    Next R
End Sub

 

Postado

Desculpe @Midori, sou iniciante em VBA e não consegui desenvolver pra tudo que me referi.

adicionado 50 minutos depois

@Midori

 Fiz essa adaptação mas não funcionou, esta adicionando uma linha mesmo se já existir o valor da coluna A na coluna B.

 

 

sub Macro()
    Dim A, B, R As Object
        
    Set A = ThisWorkbook.Worksheets(3)
    Set B = ThisWorkbook.Worksheets(4)
        
    For Each R In A.[D5:D80]            ' o valor aqui é um inexistente, beleza
        If not B.[B:B].Find(R) Is Nothing Then
            B.[B5].Select
            Selection.Insert
             ActiveCell.Value = R
            
        End If
    Next R      'quando eu digo next R, os proximos valores já existem, mas mesmo assim esta adicionando
End Sub

Postado

@Ismael Souza A macro completa já com a função de ordenação.

 

Sub Macro()
    Dim A, B, R As Object
      
    Set A = ThisWorkbook.Worksheets("Plan1")
    Set B = ThisWorkbook.Worksheets("Plan2")
    
    For Each R In A.Range("A2:A" & A.Range("A1").End(xlDown).Row)
        If B.[B:B].Find(R) Is Nothing Then
            B.[B1048576].End(xlUp).Offset(1) = R
        End If
    Next R
    
    B.Sort.SortFields.Clear
    B.Sort.SortFields.Add2 Key:=B.Range("B2"), Order:=xlAscending
    B.Sort.SetRange B.Range("B1:B" & B.Range("B1").End(xlDown).Row)
    B.Sort.Apply
End Sub

 

adicionado 3 minutos depois
1 hora atrás, Ismael Souza disse:

esta adicionando uma linha mesmo se já existir o valor da coluna A na coluna B.

 

Veja se realmente não tem alguma diferença, pode ser um espaço.

Postado

 

18 horas atrás, Ismael Souza disse:

Esse final deu erro

 

B.Sort.SortFields.Add2 Key:=B.Range("B2"), Order:=xlAscending

 

Qual erro?

 

Veja se você editou todos os ranges corretamente.

Postado

@Midori Tenho um planilha A, onde o no Range("A5:T5") tem duas imagens.

 Preciso copiar o range e colar e uma planilha B.

 Ocorre que quando colo a imagem fica alterada.

 Existe uma maneira de fazer esse processo por VBA de maneira que a imagem fique no formato original?

 

Obrigado !

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!