Ir ao conteúdo

Posts recomendados

Postado

Bom dia a todos !!!

 

 

estou montando uma planilha que me trás as informações contidas em uma outra planilha só que em varias abas, retornando as para a planilha criada uma em baixo da outra tipo uma unica lista. isso ja esta acontecendo e esta bom o problema é que o meu cabeçalho não bate com alguns dentro das abas que estou fazendo esse processo deixando minha lista toda bagunçada.

 

 

minha pergunta é !!

 

como posso fazer uma consulta em outra planilha e ver se na mesma coluna é igual a minha e então copiar a coluna toda e jogar na mesma coluna da minha planilha formando uma lista com todas as abas 

 

 

usei de inicio o cells.find mas não esta dando muito certo ou não estou sabendo usar 

 

pensei em algo do tido 

 

if Workbooks("BD_02_Atualizado.xlsm").Range(a1).value = Workbooks(Linta.xlsm").Range(a1).value then , mas não funciona desta forma.

 

sou novo no VBA então não entendo muito bem das formas de execução

 

 

alguem pode me ajudar 

 

 

Postado

Olá,

 

você está no caminho certo, o problema é que não especificou qual é a aba dos dois arquivos que contém a informação a ser checada.

 

Vou te dar 3 exemplos:

 

1) Especificar o nome das abas:

If Workbooks("BD_02_Atualizado.xlsm").Sheets("Nome da Aba").Range("A1") = Workbooks("Linta.xlsm").Sheets("Nome da Aba").Range("A1") Then

2) Especificar o número das abas:

If Workbooks("BD_02_Atualizado.xlsm").Sheets(1).Range("A1") = Workbooks("Linta.xlsm").Sheets(1).Range("A1") Then

3) Utilizar a aba que estiver ativa no momento da execução do código:

If Workbooks("BD_02_Atualizado.xlsm").ActiveSheet.Range("A1") = Workbooks("Linta.xlsm").ActiveSheet.Range("A1") Then
  • Curtir 1
  • Solução
Postado

obrigado no momento , outra questão se puder me ajudar 

 

no lugar de range("a1"). gostaria de usar uma variavel tipo activecell.value e não estou conseguindo 

 

para que eu quero isso 

 

para cada coluna eu tenho um cabeçalho em diferentes posições ao longo das abas em que vou estar copiando 

 

por tanto quero fazer uma ação em que se A1 = A1 da outra coluna ele me copia a coluna toda e cola na que vou montar a lista , feito isso vou para a coluna B1 e B2 se forem iguais fazer o mesmo recurso se não pular ate serem iguais com isso vou estar montando minha lista sem estarem fora de coluna 

 

um pouco complexo eu falando mas pode dar certo 

 

abaixo um exemplo 

Sub XXX()Workbooks("BD_02_Atualizado - Cópia.xlsm").ActivateRange("a1").SelectWorkbooks("BD2 Matriz.xlsx").ActivateRange("a1").SelectDox = ActiveCell.Activatea = Workbooks("BD_02_Atualizado - Cópia.xlsm").ActiveSheet.Range.Valueb = Workbooks("BD2 Matriz.xlsx").ActiveSheet.Range.ValueIf a = b ThenEnd Ifc = c + 1Workbooks("BD_02_Atualizado - Cópia.xlsm").ActivateActiveCell.Offset(0, c).Range("A1").SelectWorkbooks("BD2 Matriz.xlsx").ActivateActiveCell.Offset(0, c).Range("A1").SelectLoopEnd Sub
Postado

Esse código vai fazer um loop em todos os cabeçalhos da planilha em que ele estiver salvo e comparar com a planilha Wb1.xlsx (Atualize conforme sua necessidade)

Sub XXX()For c = 1 To Cells(1, Columns.Count).End(xlToLeft).Column    If Cells(1, c) = Workbooks("wb1.xlsx").ActiveSheet.Cells(1, c) Then             End IfNextEnd Sub
Visitante
Este tópico está impedido de receber novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!