Notifications
Clear all

Macro para atualizar multiplos vinculos

4 Posts
2 Usuários
0 Reactions
1,593 Visualizações
(@mantova)
Posts: 13
Active Member
Topic starter
 

Primeiramente, para variar, desculpe se estiver postando algo repetido. Tem um monte de tópicos que tratam de vínculos mas mesmo indo um por um não achei algo que me atendesse. Talvez fosse interessante colocar a opção no forum de ordenar por tópicos resolvidos.

Vamos a duvida:

Eu tenho uma planilha que agrupa informações de outras 18 planilhas (vamos chamar de plan1 a plan18). Gostaria de saber se tem como fazer alguma macro que abrisse um box para confirmar a atualização dos links obrigando o usuário a confirmar o caminho da origem, no caso de cada uma das origens, como por exemplo:

Vamos supor que na planilha master eu tenha 2 abas (aba_1 e aba_2), uma para captar as informações de cada link externo e uma final para trabalhar a informação linkada.
Cada uma das linhas das planilhas externas irão para uma área determinada dessa aba_1 de forma que fiquem organizadas e separadas para melhor visualização.

O que eu quero fazer é, criar um botão ao lado de cada área da aba_1 para atualizar os links daquela área, ou seja, que ao clicar no botão atualizar plan3, apareça a janela que nos permite escolher o caminho das ligações externas, para que eu confirme o caminho até o arquivo plan3 e somente os links referentes à essa planilha sejam atualizados.

Quero criar uma rotina também que faça como a anterior, porém para todos os links das 18 planilhas. Que ao clicar no botão dessa macro, apareça uma mensagem confirmando qual planilha deverá ser atualizada. Por exemplo: Vai começar sempre pela Plan1 então aparece uma mensagem: Localizar destino do arquivo Plan1? (com as opções abaixo) Sim - Não - e ao clicar Sim abra a janela para identificar o local do conteúdo externo e na sequência apareça a mensagem: Deseja continuar a atualizar os dados? Sim - Não - e ao clicar sim, apareça a mensagem Localizar destino do arquivo Plan2? repetindo a operação até o arquivo 18º.

Se ficar muito difícil ou não der para fazer isso com as 18 ligações externas em uma mesma aba, eu crio 18 abas uma para cada planilha, porém a macro para confirmar o endereço de cada planilha externa uma após a outra eu preciso que funcione.

Desculpe me prolongar tanto na explicação :D
Obrigado pela ajuda!!

 
Postado : 01/07/2013 5:02 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

será que isso lhe ajuda a ter alguma ideia...

Option Explicit

Sub Talvez_Te_ajude()

Dim vLinks As Variant
Dim lLinks As Long

    vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

    If IsEmpty(vLinks) Then Exit Sub

    For lLink = LBound(vLinks) To UBound(vLinks)
        ActiveWorkbook.UpdateLink Name:=vLinks(lLink), Type:=xlLinkTypeExcelLinks
    Next lLink

    For lLink = LBound(vLinks) To UBound(vLinks)
        ActiveWorkbook.BreakLink Name:=vLinks(lLink), Type:=xlLinkTypeExcelLinks
    Next lLink

End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 01/07/2013 5:28 pm
(@mantova)
Posts: 13
Active Member
Topic starter
 

Bom dia Alexandre,

Deu um erro no primeiro For lLink dizendo que a variável não está definida.
Este comando que você me passou é para atualizar todos os links da planilha ativa correto? Ele não sobrescreve o caminho deles?
Pois na célula A1 o link é para a plan1, na A2 é para plan2 e assim até a célula a18 > plan18.

 
Postado : 02/07/2013 7:56 am
(@mantova)
Posts: 13
Active Member
Topic starter
 

Boa noite pessoal!!!
Alguém aí tem uma ideia para resolver o problema???
Ou uma posição dizendo se é possível ou não???

 
Postado : 03/07/2013 5:57 pm