Obtenir des valeurs d’un classeur fermé à l’aide VBA dans Microsoft Excel
Dans cet article, nous allons créer une procédure pour récupérer les données du classeur fermé vers le classeur actif à l’aide du code VBA.
Les données brutes que nous voulons récupérer sont présentes dans la plage A13: E22 sur la feuille « Sheet1 » dans le fichier « DataFile.xlsx » qui est placé dans le chemin « C: \ Users \ Ramandeep \ Desktop ».
Explication logique
Nous avons créé deux procédures dans cet article: -. CallingMainProcedure. GetValuesFromAClosedWorkbook
Procédure CallingMainProcedure
Cette procédure est utilisée pour appeler la procédure «GetValuesFromAClosedWorkbook». Il affecte des valeurs au paramètre de la procédure « GetValuesFromAClosedWorkbook ».
Procédure GetValuesFromAClosedWorkbook
Cette procédure prend le chemin du fichier et le nom de fichier du classeur fermé comme paramètres. Il prend également le nom de la feuille et la plage du classeur fermé comme paramètre. En utilisant la valeur du paramètre d’entrée, une formule matricielle est entrée dans la plage A13: E22 de la feuille active comme \ {= ‘C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’! A13: E22} La formule matricielle apporte le données requises du classeur fermé. Une fois les données extraites dans la feuille active, les formules de la feuille sont supprimées en remplaçant les formules par la valeur.
Veuillez suivre ci-dessous pour le code
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 vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]