Macros para excluir links fórmulas no Excel para Mac

Traduções deste artigo Traduções deste artigo
ID do artigo: 192895 - Exibir os produtos aos quais esse artigo se aplica.
Para uma versão anterior deste artigo e do Microsoft Excel 97, consulte 126093.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Quando você abre uma pasta de trabalho que contém links para outra pasta de trabalho, o Microsoft Excel perguntará se você deseja atualizar vínculos. Se o arquivo que o link está se referindo a não existir ou se ela foi movida para uma pasta diferente, talvez queira excluir os vínculos para evitar esta mensagem.

Mais Informações

Um dos tipos mais comuns do link é um link de fórmula. Uma fórmula de vínculo em uma célula pode se referir a uma célula em um arquivo de pasta de trabalho fechada. Se esse arquivo não existir mais, a fórmula não é válida. Para excluir esse link, clique em Localizar no menu Editar e procure um ponto de exclamação (!). Ou, se essa ação falhar, procure um colchete ([]). Isso mostrará cada link em uma planilha. Em seguida, você pode ir a cada célula, exclua a fórmula e a substitua com o valor que estava na célula. Se várias células contêm links, excluir os links pode levar algum tempo. Para acelerar o processo de exclusão, convém usar um dos seguintes métodos. As macros permitirá que você excluir alguns links e outros não. Ele não exclui links para pastas de trabalho que estão abertas ou dentro de pasta de trabalho ativa.

Observação : essas macros podem não funcionar se o arquivo de origem de um link está localizado em uma unidade de rede. Se for esse o caso, o link será encontrado, mas não excluído.

Exemplo de código do Visual Basic

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.
  1. Digite o seguinte código macro em uma nova planilha 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 link na pasta de trabalho é identificado e para cada vínculo for perguntado se você deseja excluir o vínculo. Se você clicar em Sim , o link é excluído e o valor da célula atual é salvo em cada uma das células que foram anteriormente vinculadas.

Propriedades

ID do artigo: 192895 - Última revisão: terça-feira, 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 Mac
  • Microsoft Excel 98 for 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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