Macro per eliminare collegamenti formula in Excel per Mac

Traduzione articoli Traduzione articoli
Identificativo articolo: 192895 - Visualizza i prodotti a cui si riferisce l?articolo.
Per un Microsoft Excel 97 e una versione precedente di questo articolo, vedere 126093.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Quando si apre una cartella di lavoro che contiene collegamenti a un'altra cartella di lavoro, verrā chiesto se si desidera aggiornare i collegamenti. Se il file che fa riferimento che il collegamento esiste o se č stato spostato in una cartella diversa, sarā necessario eliminare i collegamenti per evitare questo messaggio.

Informazioni

Uno dei pių comuni tipi di collegamento č un collegamento di formula. Una formula di collegamento in una cella puō fare riferimento a una cella di un file di cartella di lavoro chiusa. Se tale file non esiste pių, la formula non č pių valida. Per eliminare tale collegamento, fare clic su Trova dal menu Modifica , cercare il punto esclamativo (!). In alternativa, se questa azione non riesce, la ricerca di una parentesi chiusa ([]). Questo visualizzerā ogni collegamento in un foglio. Č quindi possibile passare a ciascuna cella, eliminare la formula e sostituirlo con il valore di cella. Se tutte le celle contengono collegamenti, i collegamenti di eliminazione potrebbe richiedere tempo. Per velocizzare il processo di eliminazione, potrebbe essere da utilizzare uno dei seguenti metodi. Le macro verranno consentono di eliminare alcuni collegamenti e non altri. Non elimina i collegamenti a cartelle di lavoro aperti o all'interno della cartella di lavoro attivo.

Nota : queste macro non funzionino se il file di origine per un collegamento si trova su un'unitā di rete. Se questo č il caso, il collegamento verrā trovato ma non eliminato.

Esempio di codice Visual Basic

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia espressa o implicita. Questo include, ma non č limitato a, le garanzie implicite di commerciabilitā o idoneitā per uno scopo specifico. Questo articolo si presuppone che conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug di procedure. Tecnici del supporto Microsoft possono spiegare la funzionalitā di una particolare procedura, ma in nessun sono caso a modificare questi esempi per fornire funzionalitā aggiuntive o creare procedure per soddisfare specifiche esigenze.
  1. Digitare il codice di macro riportato di seguito in un nuovo foglio di modulo:
        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. Eseguire la macro Should_Delete.
  3. Ogni collegamento nella cartella di lavoro viene identificato e per ogni collegamento viene richiesto se si desidera eliminare il collegamento. Se si fa clic su , il collegamento verrā eliminato, e il valore della cella corrente viene salvato in ciascuna delle celle che in precedenza erano collegate.

Proprietā

Identificativo articolo: 192895 - Ultima modifica: martedė 23 gennaio 2007 - Revisione: 4.4
Le informazioni in questo articolo si applicano a:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X per Mac
  • Microsoft Excel 2001 per Mac
  • Microsoft Excel 98 per Macintosh
Chiavi: 
kbmt kbdtacode kbhowto KB192895 KbMtit
Traduzione automatica articoli
Il presente articolo č stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non č sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pių o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non č la sua. Microsoft non č responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 192895
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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