Alla scoperta cartelle di lavoro dipendenti

Beth si chiede se c'è un modo che lei può determinare se ci sono altre cartelle di lavoro dipendenti dal lavoro ha aperto. Lei sa come trovare i collegamenti precedenti alla sua cartella di lavoro aperta, ma non quelli dipendenti. Beth è in un nuovo lavoro e non vuole rischiare la modifica di una cartella di lavoro senza sapere quali altri file che può essere un impatto.

Se si dispone di cartella di lavoro A e B cartella di lavoro, cartella di lavoro e B include un link a cartella di lavoro A, poi B cartella di lavoro dipende dalla cartella A e cartella di lavoro A è un precedente di cartella di lavoro B.

In cartella di lavoro B si può facilmente scoprire i collegamenti utilizzati nella cartella di lavoro; si sa che lavoro A è un precedente di cartella di lavoro B. Come ha detto Beth, lei sa come trovare queste informazioni.

In cartella di lavoro A non c'è modo di determinare che cartella di lavoro B ha un collegamento alla cartella di lavoro A ed è quindi dipendente da lavoro A. Quindi, è possibile apportare modifiche alla cartella di lavoro A che possono, inavvertitamente, compromettere cartella di lavoro B. Ad esempio, potrebbe cambiare un intervallo denominato o rinominare un foglio di lavoro o cancellare le informazioni che si pensa non è più necessario. La prossima volta che apri cartella di lavoro B, si sarebbe in un brusco sorpresa perché le informazioni che dipendeva in lavoro A non era più disponibile.

Alcune modifiche apportate nella cartella di lavoro A non possono influenzare cartella di lavoro B. Per esempio, si dovrebbe essere in grado di aggiungere fogli di lavoro, aggiungere intervalli denominati, ed eventualmente inserire colonne o righe. In tutti questi casi, Excel può regolare naturalmente ai cambiamenti senza modificare cartella di lavoro B. Il problema è che, non si sa se ci sia stato un effetto negativo fino a cartella di lavoro in seguito aperto B. E si sa nemmeno di aprire cartella di lavoro B a meno che non sapeva in anticipo che ci fosse una relazione tra le due cartelle di lavoro.

Un modo per aggirare il problema è quello di aprire tutte le cartelle di lavoro si può pensare, allo stesso tempo, e quindi utilizzare gli strumenti di controllo in Excel per controllare le dipendenze. Questo può funzionare bene se si dispone di un numero molto limitato di cartelle di lavoro del sistema. Non funziona in questo grande se avete un sacco di cartelle di lavoro o se le cartelle di lavoro sono in una rete.

Se si dispone di cartelle di lavoro in una serie di località sul sistema locale (tutto in una singola cartella), allora si potrebbe provare a utilizzare una macro per determinare le dipendenze. I seguenti passi attraverso tutte le cartelle di lavoro di Excel in una data directory e identifica le cartelle di lavoro legati alla cartella di lavoro aperto da formule.

DiscoverDependentFiles Sub ()
Dim i As Integer
Dim iFile As String
Dim FLINK As Variant
Dim Slink As String
Dim myFldr As String
Dim curFile As String

'Modificare la stringa qui per guardare
'Per una diversa / nome file di collegamento
Slink = "[FileA.xls]"
curFile = ThisWorkbook.Name
'Modificare la stringa qui per guardare
'In una cartella diversa
myFldr = "C: \ Users \ User \ mySub \"

iFile = Dir (myFldr e "* .xls", vbNormal)
i = 1
'Loop attraverso tutti i file nella cartella
Do While iFile <> ""
Se iFile <> curFile Poi
Workbooks.Open Nome file: = myFldr & iFile
Set Flink = Cells.Find (Cosa: = Slink, _
Dopo: = ActiveCell, LookIn: = xlFormulas, _
LookAt: = xlPart, SearchOrder: = xlByRows, _
SearchDirection: = xlNext, matchcase: = _
Falso, SearchFormat: = False)
Se UCase (TypeName (Flink)) <> UCase ("Niente") Then
Finestre (curFile) .Activate
'registrare nomi di file dipendenti
'Nella cartella di lavoro aperto
Fogli di lavoro (1) .Range ("D" e (i)). Valore = _
ActiveWorkbook.Name
i = i + 1
End If
Cartelle di lavoro (iFile) .Close False
End If
iFile = Dir
Cappio
End Sub

Questo approccio dovrebbe funzionare bene in situazioni semplici. In alcuni casi, tuttavia, tale macro potrebbe fornire solo una soluzione parziale, perché i collegamenti possono essere nascosti in numerosi luoghi-in nomi di Excel, caselle di testo, grafici e altri oggetti. C'è sempre la possibilità che qualcosa può essere lasciato incontrollato. Il risultato di questo è che, poiché le modifiche potrebbero influenzare altre cartelle di lavoro che dipendono da una che si sta cambiando, si consiglia di effettuare un backup del file della cartella di lavoro prima di apportare modifiche.

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (7797) si applica a Microsoft Excel 97, 2000, 2002, e 2003. È possibile trovare una versione di questo suggerimento per l'interfaccia ribbon di Excel (Excel 2007 e versioni successive) qui: Discovering Dependent cartelle di lavoro.