Ouvrez un classeur fermé avec VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour copier des données à partir d’un classeur fermé.
Nous avons «DataFile» contenant les données des employés, qui incluent le nom, l’âge et le domaine.
Nous voulons copier les données de ce fichier vers le fichier principal.
Avant d’exécuter la macro, nous devons spécifier le chemin du fichier et le nom du fichier.
Explication logique
Nous avons créé une macro «OpenClosedWorkbook» pour copier les données du classeur fermé. Il ouvre le classeur, copie les données dans le classeur principal, puis ferme le classeur précédent.
Explication du code
Set WB = Workbooks.Open (FileName)
Le code ci-dessus est utilisé pour créer un objet du classeur ouvert.
WB.Worksheets (« Sheet1 »). Range (« A1 »). CurrentRegion.Copy Le code ci-dessus est utilisé pour copier toutes les données du classeur défini.
ThisWorkbook.Worksheets (« Main »). Range (« A15 »). PasteSpecial (xlPasteValues)
Le code ci-dessus est utilisé pour coller les données copiées dans la feuille de calcul principale.
Veuillez suivre ci-dessous pour le code
Option Explicit Sub OpenClosedWorkbook() 'Declaring variables Dim FileName As String Dim WB As Workbook 'Disabling screen updates Application.ScreenUpdating = False 'Getting file path and file name from the textbox FileName = Sheet1.TextBox1.Value 'Open the Excel workbook Set WB = Workbooks.Open(FileName) 'Copy data from sheet1 from opened workbook WB.Worksheets("Sheet1").Range("A1").CurrentRegion.Copy 'Paste data in the macro file starting from cell A15 ThisWorkbook.Worksheets("Main").Range("A15").PasteSpecial (xlPasteValues) 'Close the workbook without saving WB.Close (False) Set WB = Nothing 'Auto adjusting the size of selected columns Selection.Columns.AutoFit 'Saving the macro file ThisWorkbook.Save End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]