Macros para eliminar hiperligações fórmulas no Excel para Mac

Traduções de Artigos Traduções de Artigos
Artigo: 192895 - Ver produtos para os quais este artigo se aplica.
Para obter um Microsoft Excel 97 e a versão anterior deste artigo, consulte 126093.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Quando abre um livro que contém hiperligações para outro livro, o Microsoft Excel pergunta se pretende actualizar as ligações. Se o ficheiro que a ligação se refere a já não existir ou se foi movido para uma pasta diferente, poderá eliminar as ligações para evitar esta mensagem.

Mais Informação

Um dos tipos mais comuns de ligação é uma ligação fórmula. Uma fórmula de ligação de uma célula pode referir uma célula num ficheiro de livro fechado. Se esse ficheiro já não existir, a fórmula não é válida. Para eliminar essa ligação, clique em Localizar no menu Editar e procurar um ponto de exclamação (!). Ou, se esta acção falhar, procure um parênteses rectos ([]). Isto vai mostrar cada hiperligação numa folha. Em seguida, pode ir para cada célula, elimine a fórmula e substitua-com o valor que estava na célula. Se o número de células contiver hiperligações, eliminar as ligações poderá demorar algum tempo. Para acelerar o processo de eliminação, poderá utilizar um dos seguintes métodos. As macros permitem eliminar algumas hiperligações e outros não. Não elimina hiperligações a livros que estão abertos ou dentro do livro activo.

Nota : estas macros podem não funcionar se o ficheiro de origem para uma ligação está localizado numa unidade de rede. Se for este o caso, a ligação será encontrada mas não eliminada.

Exemplo de código do Visual Basic

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.
  1. Escreva o seguinte código de macro numa nova folha de módulo:
        Option Base 1
    
        'This macro deletes all formula links in a workbook.
        '
        'This macro does not delete a worksheet formula that references an open
        'book, for example:
        '
        '   =[Book1.xls]Sheet1!$A$1
        '
        ' To delete only the links in the active sheet, see the comments
        ' provided in the Delete_It macro later in this article.
    
        Public Times As Integer
        Public Link_Array As Variant
    
        Sub Should_Delete()
        Items = 0 'initialize these names
        Times = 0
        Link_Array = ActiveWorkbook.LinkSources 'find all document links
    
        Items = UBound(Link_Array) 'count the number of links
        For Times = 1 To Items
    
        'Ask whether to delete each link
        Msg = "Do you want to delete this link:  " & Link_Array(Times)
          Style = vbYesNoCancel + vbQuestion + vbDefaultButton2
          Response = MsgBox(Msg, Style)
          If Response = vbYes Then Delete_It
          If Response = vbCancel Then Times = Items
        Next Times
        End Sub
    
        Sub Delete_It()
        Count = Len(Link_Array(Times))
        For Find_Bracket = 1 To Count - 1
          If Mid(Link_Array(Times), Count - Find_Bracket, 1) = ":" _
          Then Exit For
        Next Find_Bracket
        'Add brackets around the file name.
        With_Brackets = Left(Link_Array(Times), Count - Find_Bracket) & _
          "[" & Right(Link_Array(Times), Find_Bracket) & "]"
    
        'Does the replace.
    
        'If you want to remove links only on the active sheet, change the
        'next two lines into comments by placing an (') apostrophe in front of
        'them as well as the line, "Next Sheet_Select", that closes the loop.
    
        For Each Sheet_Select In ActiveWorkbook.Worksheets
    
        Sheet_Select.Activate
        Set Found_Link = Cells.Find(what:=With_Brackets, After:=ActiveCell, _
                lookin:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, _
                searchdirection:=xlNext, matchcase:=False)
           While UCase(TypeName(Found_Link)) <> UCase("Nothing")
               Found_Link.Activate
    
               On Error GoTo anarray
    
               Found_Link.Formula = Found_Link.Value
    
               Set Found_Link = Cells.FindNext(After:=ActiveCell)
    
           Wend
        Next Sheet_Select 'To remove links only on the active sheet
                         'place an (') apostrophe at the front of this line.
    
        Exit Sub
    
        anarray:
        Selection.CurrentArray.Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues
        Resume Next
    
        End Sub
    					
  2. Execute a macro Should_Delete.
  3. Cada ligação no livro é identificada e para cada hiperligação é solicitado se pretende eliminar a ligação. Se clicar em Sim , a hiperligação é eliminada e o valor da célula actual é guardado em cada uma das células que foram anteriormente ligadas.

Propriedades

Artigo: 192895 - Última revisão: 23 de janeiro de 2007 - Revisão: 4.4
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X para Macintosh
  • Microsoft Excel 2001 para Macintosh
  • Microsoft Excel 98 para Macintosh
Palavras-chave: 
kbmt kbdtacode kbhowto KB192895 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 192895

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com