Leer información de un libro cerrado usando VBA en Microsoft Excel

Anonim

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 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 de código, seleccione Visual Basic

  • Copie el siguiente código en el módulo estándar
Sub ReadDataFromAllWorkbooksInFolder () Dim FolderName como cadena, wbName como cadena, r tan largo, cValue como variante Dim wbList () como cadena, wbCount como entero, i como entero FolderName = "D: \ testing" 'crear lista de libros de trabajo en nombre de carpeta' --- Comentario wbCount = 0 wbName = Dir (FolderName & "\" & "* .xls") Mientras wbName "" wbCount = wbCount + 1 ReDim Preservar wbList (1 a wbCount) wbList (wbCount) = wbName wbName = Dir Wend Si wbCount = 0 Entonces Salga de Sub 'obtenga valores de cada libro de trabajo' --- Comentario r = 0 Libros de trabajo. Agregue para i = 1 A wbCount r = r + 1 cValue = GetInfoFromClosedFile (FolderName, wbList (i), "Sheet1", "A1") Celdas (r, 1) .Fórmula = wbList (i) Celdas (r, 2) .Fórmula = cValue Siguiente i Finalizar función privada secundaria GetInfoFromClosedFile (ByVal wbPath como cadena, _ wbName como cadena, wsName como cadena, cellRef As String) As Variant Dim arg As String GetInfoFromClosedFile = "" If Right (wbPath, 1) "\" Then wbPath = wbPath & "\" If Dir (wbPath & "\" & wbName) = "" Entonces Exit Function arg = "'" & wbPath & "[" & wb Nombre & "]" & _ wsName & "'!" & Range (cellRef) .Address (True, True, xlR1C1) En caso de error Reanudar Siguiente GetInfoFromClosedFile = ExecuteExcel4Macro (arg) Función de fin 

Necesitamos ejecutar la macro y la siguiente será la instantánea del resultado:

Conclusión: Usando 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 al sitio de correo electrónico