Ridelight Posted May 7, 2008 at 09:22 AM Report Share #183750 Posted May 7, 2008 at 09:22 AM 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 at 12:56 PM Report Share #214758 Posted October 2, 2008 at 12:56 PM 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 at 05:14 PM Report Share #214866 Posted October 2, 2008 at 05:14 PM 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 at 05:37 PM Report Share #214875 Posted October 2, 2008 at 05:37 PM 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 at 05:49 PM Report Share #214880 Posted October 2, 2008 at 05:49 PM 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