Ridelight Posted May 7, 2008 Report Share Posted May 7, 2008 Boas, tenho uma base de dados composta por 6 separadores, gostaria de saber se há possibilidade de ao alterar os dados no separador 2 por exemplo ele pesquisar na coluna A se o numero coincide e actualizar as restantes colunas de acordo com o separador 2, pois no 1 contem todos os dados dos restantes separadores, e actualizar tudo "á lá pata" não é muito práctico, se alguem me podesse ajudar ficava agradecido ! Regras do FÓRUM Link to comment Share on other sites More sharing options...
jtiagodias Posted October 2, 2008 Report Share Posted October 2, 2008 Bom, desconfio que não percebi a pergunta mas, sem ser em VBA será que com PROCH ou PROV não consegues resolver o problema??? Link to comment Share on other sites More sharing options...
jpaulino Posted October 2, 2008 Report Share Posted October 2, 2008 Bom, desconfio que não percebi a pergunta mas, sem ser em VBA será que com PROCH ou PROV não consegues resolver o problema??? Sim, pode resolver o problema (VLOOKUP/HLOOKUP em inglês). Link to comment Share on other sites More sharing options...
jtiagodias Posted October 2, 2008 Report Share Posted October 2, 2008 Sim, pode resolver o problema (VLOOKUP/HLOOKUP em inglês). Sempre muito atento... Sim, é exactamente isso... Agora é óbvio que depende das condicionantes que o projecto tenha. Serve apenas para questões mais simples... Link to comment Share on other sites More sharing options...
jpaulino Posted October 2, 2008 Report Share Posted October 2, 2008 Aqui vai um exemplo simples (julgo eu) de implementar um vlookup através de código: Dados do exemplo: Tabela a procurar: A1 a A21 (existindo depois valores nas colunas B e C) Valor a procurar : B35 (preenchendo os dados em C35 e C36) Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) ' verifica se foi alterada a célula B35 If Not Intersect([b35], Target) Is Nothing Then Dim rg As Range ' Area a procurar Set rg = Range("A1:A21") ' Caso encontre If Not rg.Find([b35], MatchCase:=True) Is Nothing Then ' Verifica qual o index da linha encontrada Dim r As Integer r = rg.Find([b35], MatchCase:=True).Row ' Coloca os novos valores [c35].Value = Cells(r, 2).Value [d35].Value = Cells(r, 3).Value Else ' Limpa os valores [c35].Value = "" [d35].Value = "" End If End If End Sub Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now