Pesquisei as perguntas existentes e encontrei perguntas e respostas semelhantes, mas nenhuma que atendesse aos meus requisitos.
Tenho uma planilha onde desejo poder clicar nos links de uma planilha para ir para a segunda, colocando o valor da célula clicada em um campo da segunda.
Por exemplo, a primeira planilha na coluna A conterá as unidades IT
, Finance
eNetworks
Clicar em qualquer um desses campos deve levar o usuário para a segunda planilha chamada "Sub Unidade" colocando o valor da célula em A1 onde posso então escrever instruções if para preencher a lista de subunidades, por exemplo clicar em IT
colocaria IT
na célula A1 e então via instruções if em A3-A5 as tornariam como
Security, Support, Development
Então, eu reutilizaria um código VB semelhante para que, se alguém clicar no nome de uma subunidade, ele o levasse para uma terceira planilha que mostraria os detalhes da subunidade.
Espero que faça sentido,
Sou muito novo no VBA, então indique onde devo colocar qualquer código (por exemplo, na guia, clique com o botão direito, visualize o código ou em algum lugar diferente)
Responder1
Na Folha 1, pressione ALT+F11
para obter o editor VB. Copie e cole este código como módulo padrão.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Range " & Target.Address & " was double clicked"
On Error Resume Next
Dim xRg As Range
Set xRg = Application.Selection
Range("A80").Copy Sheet2.Range("A80")
Application.Goto Worksheets("Sheet2").Range("A80"), True
End Sub
Como funciona:
- Escreva alguns dados na célula
A80
e clique duas vezes na célula. - Você recebe a caixa Mensagem para confirmar qual célula foi clicada.
- Aperte
OK
o botão. - O Excel irá
Copy & Paste
o conteúdoA80
e colocará o ponteiro da célula na célulaA80
da planilha 2.
Observação
- Ajuste as referências das células e o nome da planilha no código conforme necessário.
- Você pode consultar o intervalo de células para
Copy & Paste
. - Para fazer isso edite esta linha,,
Range("A80:A85").Copy Sheet2.Range("A80")