Obtener valores de un libro cerrado con VBA en Microsoft Excel
En este artículo, crearemos un procedimiento para recuperar datos del libro de trabajo cerrado al libro de trabajo activo utilizando código VBA.
Los datos sin procesar que queremos obtener están presentes en el rango A13: E22 en la hoja «Hoja1» en el archivo «DataFile.xlsx» que se coloca en la ruta «C: \ Users \ Ramandeep \ Desktop».
Explicación lógica
Hemos creado dos procedimientos en este artículo: -. CallingMainProcedure. GetValuesFromAClosedWorkbook
Procedimiento CallingMainProcedure
Este procedimiento se utiliza para llamar al procedimiento «GetValuesFromAClosedWorkbook». Asigna valores al parámetro del procedimiento «GetValuesFromAClosedWorkbook».
Procedimiento GetValuesFromAClosedWorkbook
Este procedimiento toma la ruta del archivo y el nombre del archivo del libro cerrado como parámetros. También toma el nombre de la hoja y el rango del libro cerrado como parámetro. Usando el valor del parámetro de entrada, se ingresa una fórmula de matriz en el rango A13: E22 de la hoja activa como \ {= ‘C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’! A13: E22} La fórmula de matriz trae la datos requeridos del libro cerrado. Una vez que los datos se recuperan en la hoja activa, las fórmulas de la hoja se eliminan reemplazando las fórmulas con el valor.
Siga a continuación el código
Option Explicit Sub CallingMainProcedure() 'Calling GetValuesFromAClosedWorkbook procedure 'Specifying the file path, filename, sheet name and range of data GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _ "Sheet1", "A13:E22" End Sub Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) With ActiveSheet.Range(cellRange) 'Assigning the array formula to the specified range .FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange 'Removing formula from the cell and pasting the values in the cell .Value = .Value End With End Sub
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]