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».

dataFile

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.

ArrowAfterRunningMacro

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]