bom dia galerinha! alguém pode me ajudar?
estou tentando inserir um hiperlink através de macro da seguinte forma:
tenho uma lista, tipo banco de dados, com nomes de funcionários, ao criar o hiperlink, gostaria que o nome da lista estivesse ligado a um outro arquivo com o mesmo nome.
exemplo: na lista contem meu nome (wagner goularte), selecionado a célula que contem meu nome e executando a macro, cria o hiperlink ligado a um arquivo já existente, com o nome “wagner goularte.xlsm” em um determinado local (ex.: c:/funcionarios).
depois que criado, ai o hiperlink funciona normal, é só clicar em meu nome que ele busca esse arquivo com meus dados por exemplo.
consegui explicar o que estou precisando?
aguardo uma ajuda.. obrigado!!
bom dia,
hoje não vou dar a papinha toda feita mas sim explicar como poderá fazer o que pretende:
existem varias formas de o fazer mesmo sem recorrer ao hiperlink, então como você pretende fazer pode utilizar o evento duplo clique da planilha.
numa zona da folha de cálculo conveniente para si você deverá colocar o endereço dos ficheiros (caso o endereço mude você pode alterar nessa célula o endereço).
seleccione uma célula onde se encontra o nome que tem a tal correspondência do ficheiro com o mesmo nome, grave uma macro onde você vai cria um link desse nome ao ficheiro correspondente, no final aceda ao editor vba, na macro que gravou terá a sintaxe necessária a executar o procedimento por forma a se adaptar automaticamente a outros nomes.
a sintaxe da macro gravada será +- isto:
activesheet.hyperlinks.add anchor:=selection, address:= _
“c:funcionarioswagner goularte.xlsm”, _
texttodisplay:=”wagner goularte” esta parte não é necessária deve elimina-la
agora terá de adaptar esta sintaxe e construir o procedimento à sua medida:
deverá criar duas variáveis tipo string, uma para o endereço e outra para o nome do ficheiro e utilizar essas variáveis na sintaxe em cima como por exemplo:
activesheet.hyperlinks.add anchor:=selection, address:= _
variavelendereço & variavelnome & “.xlsm”
depois deverá aplicar este procedimento directamente ou indirectamente no evento duplo clique
também pode criar um procedimento com um loop associado a um botão como nome por exemplo “actualizar hiperlinks” onde esse loop percorrerá os nomes todos da lista e criará o hiperlink para cada ficheiro, caso o endereço mude é so alterar na célula onde tem o endereço e actualizar.
best regards
les saludamos atentamente
com os melhores cumprimentos
vg-excel-gest
vg-excel-gest.blogspot.com/
http://www.youtube.com/user/vgexcelgest2?feature=mhum
proteja a sua informação ou da sua empresa com o xlsworkbooksecuring – template segura para excel :
protect your information or your company with xlsworkbooksecuring – safe template for excel:
http://vg-excel-gest.blogspot.com/p/xlsworkbooksecuring3d.html
http://vg-excel-gest-products.weebly.com/
se alguém estiver disposto a dar a “papinha toda”, ficarei grato, pois não consegui fazer.
a opção sugerida acima fica bom tambem:
“também pode criar um procedimento com um loop associado a um botão como nome por exemplo “actualizar hiperlinks” onde esse loop percorrerá os nomes todos da lista e criará o hiperlink para cada ficheiro, caso o endereço mude é so alterar na célula onde tem o endereço e actualizar.”
fico no aguardo de uma ajuda.
testei a programação abaixo e também não deu certo. alguem sabe me dizer onde estou errando? ou outra forma de fazer…
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sub hiper()
dim sha as string
dim shb as string
dim shc as string
sha = “c:hiperteste”
shb = activecell.select
shc = “.xlsm”
activecell.select
activesheet.hyperlinks.add anchor:=selection, address:=sha + shb + shc
end sub
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
‘ao inves de aparecer o que está escrito na célula selecionada (shb = activecell.select ), aparece (verdadeiro), por isso o link não funciona.
?????
sub hiper()
dim sha as string
dim shb as string
dim shc as string
sha = “c:hiperteste” ‘substitua por >>> sha= range(“a1”).text >>> coloque a referencia que for eu coloquei a1 como exemplo e nessa célula é que vai colocar o endereço
shb = activecell.select ‘substitua por >>> activecell.text
shc = “.xlsm”
activecell.select ‘este código não é necessário, em baixo já se refere “selection” à célula activa.
activesheet.hyperlinks.add anchor:=selection, address:=sha + shb + shc ‘substitua por >>> activesheet.hyperlinks.add anchor:=selection, address:=sha & shb & shc
end sub
atenção eu não testei estes códigos se não funcionar diz para corrigir!
depois é só invocar o nome do procedimento no evento duplo clique no modulo privado dessa planilha.
best regards
les saludamos atentamente
com os melhores cumprimentos
vg-excel-gest
vg-excel-gest.blogspot.com/
http://www.youtube.com/user/vgexcelgest2?feature=mhum
proteja a sua informação ou da sua empresa com o xlsworkbooksecuring – template segura para excel :
protect your information or your company with xlsworkbooksecuring – safe template for excel:
vg-excel-gest.blogspot.com/p/xlsworkbooksecuring3d.html
vg-excel-gest-products.weebly.com/
funcionou perfeitamente !!!!
muito obrigado !!!!