Descubriendo libros de trabajo dependientes (Microsoft Excel)
Beth se pregunta si hay alguna forma de determinar si hay otros libros de trabajo que dependan del libro de trabajo que tiene abierto. Ella sabe cómo encontrar los enlaces precedentes a su libro de trabajo abierto, pero no los dependientes.
Beth tiene un nuevo trabajo y no quiere arriesgarse a editar un libro de trabajo sin saber qué otros archivos puede estar afectando.
Si tiene el libro A y el libro B, y el libro B incluye un enlace al libro A, entonces el libro B depende del libro A y el libro A es un precedente del libro B.
En el libro de trabajo B, puede encontrar fácilmente los enlaces utilizados en el libro de trabajo; usted sabría que el libro de ejercicios A es un precedente del libro de ejercicios B. Como dijo Beth, ella sabe cómo encontrar esta información.
En el libro de trabajo A no hay forma de determinar que el libro de trabajo B tiene un enlace al libro de trabajo A y, por lo tanto, depende del libro de trabajo A. Por lo tanto, es posible realizar cambios en el libro de trabajo A que pueden, sin darse cuenta, afectar el libro de trabajo B. podría cambiar un rango con nombre o cambiar el nombre de una hoja de trabajo o eliminar información que cree que ya no es necesaria. La próxima vez que abra el libro de trabajo B, se encontrará con una grosera sorpresa porque la información de la que dependía en el libro de trabajo A ya no estaba disponible.
Es posible que algunos cambios que realice en el libro de trabajo A no afecten al libro de trabajo B. Por ejemplo, debería poder agregar hojas de trabajo, agregar rangos con nombre y posiblemente insertar columnas o filas. En todos estos casos, Excel puede ajustarse naturalmente a los cambios sin afectar el libro B. El problema es que no sabrá si ha habido un efecto negativo hasta que luego abra el libro B. Y ni siquiera sabría abrir el libro B a menos que sabía de antemano que existía una relación entre los dos libros de trabajo.
Una forma de solucionar el problema es abrir todos los libros de trabajo que pueda imaginar, al mismo tiempo, y luego usar las herramientas de auditoría en Excel para verificar las dependencias. Esto puede funcionar muy bien si tiene un número muy limitado de libros de trabajo en su sistema. No funciona tan bien si tiene muchos libros de trabajo o si los libros de trabajo están en una red.
Si tiene sus libros de trabajo en una ubicación establecida en su sistema local (todo en una sola carpeta), entonces puede intentar usar una macro para determinar las dependencias. Los siguientes pasos recorren todos los libros de trabajo de Excel en un directorio determinado e identifican los libros de trabajo vinculados a su libro de trabajo actualmente abierto por fórmulas.
Sub DiscoverDependentFiles() Dim i As Integer Dim iFile As String Dim fLink As Variant Dim sLink As String Dim myFldr As String Dim curFile As String 'Change the string here to look 'for a different link / file name sLink = "[FileA.xls]" curFile = ThisWorkbook.Name 'Change the string here to look 'in a different folder myFldr = "C:\Users\User\mySub\" iFile = Dir(myFldr & "*.xls", vbNormal) i = 1 'Loop through all of the files in the folder Do While iFile <> "" If iFile <> curFile Then Workbooks.Open Filename:=myFldr & iFile Set fLink = Cells.Find(What:=sLink, _ After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False) If UCase(TypeName(fLink)) <> UCase("Nothing") Then Windows(curFile).Activate 'Record names of dependent files 'in your open workbook Worksheets(1).Range("D" & (i)).Value = _ ActiveWorkbook.Name i = i + 1 End If Workbooks(iFile).Close False End If iFile = Dir Loop End Sub
Este enfoque debería funcionar bien en situaciones simples. En algunos casos, sin embargo, una macro de este tipo podría proporcionar sólo una solución parcial, porque los vínculos pueden estar ocultos en numerosos lugares: en nombres de Excel, cuadros de texto, gráficos y otros objetos. Siempre existe la posibilidad de que algo no se controle. El resultado de esto es que debido a que sus cambios podrían afectar a otros libros de trabajo que dependen del que está cambiando, es posible que desee hacer una copia de seguridad del archivo del libro de trabajo antes de realizar cambios.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (7797) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Discovering_Dependent_Workbooks [Descubriendo los libros de trabajo dependientes]
.