Jump to content
António Nogueira

Ir para célula Excel

Recommended Posts

António Nogueira

Boa tarde,

Estou com dificuldade em ir para uma célula específica.

Exemplo: Na célula J1 tenho o caminho de outra célula (por exemplo: A656), o que pretendo é criar uma macro que me leve directamente para a célula constante em J1, no caso A656, mas o problema é que o caminho em J1, pode não ser o mesmo.

Esta é a macro com que tentei lá chegar, o problema é que vai sempre parar à mesma célula (A656), mesmo que o caminho seja outro.

Sub ir_para()
    Range("J1").Select
    Selection.Copy
    Application.Goto Reference:="R656C1"
End Sub

 

Share this post


Link to post
Share on other sites
Gnrtuga

Boas,

encontrei este código:

Sub test()
Dim WhereToGo As String
Dim i As Long
 
WhereToGo = Sheets(1).Range("F7")
i = InStr(1, WhereToGo, "!")
Application.Goto Reference:=Worksheets(Left(WhereToGo, i - 1)).Range(Right(WhereToGo, Len(WhereToGo) - i))
End Sub

Neste site: https://www.mrexcel.com/forum/excel-questions/364183-macro-go-specific-cell-different-sheet.html

Basicamente ele atribui o valor da célula a uma string (caminho completo com folha e célula) depois procura o ! (ponto exclamação) nessa string e diz que a folha se encontra à esquerda e que a célula está à direita.

Caso as tuas células estejam todas na mesma folha podes colocar qualquer coisa como:

Application.Goto Reference:=Worksheets(Folha1).Range(WhereToGo)

ou seja sem testar ficaria algo como:

Sub test()
Dim WhereToGo As String

WhereToGo = Sheets(1).Range("F7")
Application.Goto Reference:=Worksheets(Folha1).Range(WhereToGo)
End Sub

Experimenta e boa sorte.
 

Edited by Gnrtuga
  • Vote 1

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Share this post


Link to post
Share on other sites
António Nogueira
Em 29/03/2017 às 17:49, Gnrtuga disse:

Boas,

encontrei este código:


Sub test()
Dim WhereToGo As String
Dim i As Long
 
WhereToGo = Sheets(1).Range("F7")
i = InStr(1, WhereToGo, "!")
Application.Goto Reference:=Worksheets(Left(WhereToGo, i - 1)).Range(Right(WhereToGo, Len(WhereToGo) - i))
End Sub

Neste site: https://www.mrexcel.com/forum/excel-questions/364183-macro-go-specific-cell-different-sheet.html

Basicamente ele atribui o valor da célula a uma string (caminho completo com folha e célula) depois procura o ! (ponto exclamação) nessa string e diz que a folha se encontra à esquerda e que a célula está à direita.

Caso as tuas células estejam todas na mesma folha podes colocar qualquer coisa como:

Application.Goto Reference:=Worksheets(Folha1).Range(WhereToGo)

ou seja sem testar ficaria algo como:


Sub test()
Dim WhereToGo As String

WhereToGo = Sheets(1).Range("F7")
Application.Goto Reference:=Worksheets(Folha1).Range(WhereToGo)
End Sub

Experimenta e boa sorte.
 

Obrigado pela dica, mas já encontrei o código, e neste caso em vez de procurar o nº da linha, procura o valor pretendido (na coluna d), encaminhando-se de imediato para a célula correspondente.

Sub teste()
For vlin = 5 To Cells(Rows.Count, "a").End(xlUp).Row
    If Cells(vlin, "d").Value = Cells(1, "j") Then
       Cells(vlin, "a").Select 'Rows(vLin).Select
       ActiveSheet.Unprotect
    End If
Next vlin
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True
End Sub

 

  • Vote 1

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.