Макросы для удаления формулы ссылки в Excel для Macintosh

Переводы статьи Переводы статьи
Код статьи: 192895 - Vizualiza?i produsele pentru care se aplic? acest articol.
Для a Microsoft Excel 97 и более ранние версии этой статьи126093.
Развернуть все | Свернуть все

В этой статье

Аннотация

При открытии книги, содержащей ссылки на другую книгу, Microsoft Excel предлагает, следует ли обновить ссылки. Если существует больше не ссылается ссылка на файл, или если она была перемещена в другую папку, необходимо удалить ссылки, чтобы избежать появления этого сообщения.

Дополнительная информация

Одним из наиболее распространенных типов ссылок — это формула связь. Формулы ссылки в ячейке могут ссылаться на ячейки в закрытой книги. Если этот файл больше не существует, формула больше не является допустимой. Чтобы удалить такие ссылки, нажмите кнопкуНайтинаИзменитьменю и поиске восклицательного знака (!). Или, если это действие, искать квадратная скобка ([]). Каждая ссылка отображается в таблице. Затем можно перейти к каждой ячейке удалить формулу и заменить его значение, которое было в ячейке. Многие ячейки содержат ссылки, при удалении ссылок может занять некоторое время. Чтобы ускорить процесс удаления, можно использовать один из следующих способов. Макросы позволяют удалить некоторые ссылки, а не для других пользователей. Он не удаляет ссылки на книги, открытые или в активной книге.

Примечание: Эти макросы могут не работать, если исходный файл для ссылки находится на сетевом диске. Если это так, ссылка найдена но не удалены.

Пример кода Visual Basic

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и или подразумеваемых. Включая, но не ограничивая, подразумеваемые гарантии товарности или пригодности для использования в определенных целях.. В данной статье предполагается, что вы знакомы с языком программирования предложенном в примере, а также с средствами, которые используются для создания и отладки.. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения функциональных возможностей или создания процедур соответствующих определенным требованиям..
  1. Введите следующий код макроса в новый лист модуля:
        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. Выполнить макрос Should_Delete.
  3. Идентификации каждой ссылки в книге, и для каждой ссылки будет предложено, следует ли удалить ссылку. Если нажать кнопкуДа, связь будет удалена и сохранения текущего значения ячейки в каждой ячейки, которые ранее были связаны.

Свойства

Код статьи: 192895 - Последний отзыв: 6 октября 2011 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Ключевые слова: 
kbdtacode kbhowto kbmt KB192895 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:192895

Отправить отзыв

 

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