Leer información de un libro cerrado con VBA en Microsoft Excel
En Microsoft Excel, obtener información de un libro cerrado es una de las formas que más ahorra tiempo de obtener datos precisos utilizando el código VBA. En este artículo, aprenderemos cómo leer información de un libro de trabajo cerrado usando VBA en Microsoft Excel.
Si recibe varios archivos por correo electrónico o cualquier otra fuente y desea obtener información almacenada en una celda en particular, entonces debería leer este tutorial.
Para entender este ejemplo, necesitamos crear algunos archivos de muestra en una ruta que usaremos en el código VBA; aquí, hemos guardado un par de archivos (archivos North & West) en la ruta «D: \ testing».
Para extraer datos de todos los archivos de Excel en una carpeta, debemos seguir los pasos a continuación para iniciar el editor de VB:
Haga clic en la pestaña Desarrollador. Desde el grupo Código, seleccione Visual Basic
-
Copie el siguiente código en el módulo estándar
Sub ReadDataFromAllWorkbooksInFolder() Dim FolderName As String, wbName As String, r As Long, cValue As Variant Dim wbList() As String, wbCount As Integer, i As Integer FolderName = "D:\testing" ' create list of workbooks in foldername' --- Comment wbCount = 0 wbName = Dir(FolderName & "\" & "*.xls") While wbName <> "" wbCount = wbCount + 1 ReDim Preserve wbList(1 To wbCount) wbList(wbCount) = wbName wbName = Dir Wend If wbCount = 0 Then Exit Sub ' get values from each workbook' --- Comment r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile(FolderName, wbList(i), "Sheet1", "A1") Cells(r, 1).Formula = wbList(i) Cells(r, 2).Formula = cValue Next i End Sub Private Function GetInfoFromClosedFile(ByVal wbPath As String, _ wbName As String, wsName As String, cellRef As String) As Variant Dim arg As String GetInfoFromClosedFile = "" If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\" If Dir(wbPath & "\" & wbName) = "" Then Exit Function arg = "'" & wbPath & "[" & wbName & "]" & _ wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro(arg) End Function
Necesitamos ejecutar la macro y la siguiente será la instantánea del resultado:
===
Conclusión: utilizando el código anterior, podemos obtener datos de un libro cerrado de una celda específica.
Nota: La celda A1 se usa como ejemplo; si desea recuperar datos de cualquier otra celda, simplemente debe mencionar esa celda.
Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]