Aprire una cartella chiusa di lavoro con VBA in Microsoft Excel
In questo articolo creeremo una macro per copiare i dati da una cartella di lavoro chiusa.
Abbiamo “DataFile” contenente i dati dei dipendenti, che includono nome, età e dominio.
Vogliamo copiare i dati da questo file al file principale.
Prima di eseguire la macro, è necessario specificare il percorso del file e il nome del file.
Spiegazione logica
Abbiamo creato la macro “OpenClosedWorkbook” per copiare i dati dalla cartella di lavoro chiusa. Apre la cartella di lavoro, copia i dati nella cartella di lavoro principale e quindi chiude la cartella di lavoro precedente.
Spiegazione del codice
Imposta WB = Workbooks.Open (FileName)
Il codice precedente viene utilizzato per creare un oggetto della cartella di lavoro aperta.
WB.Worksheets (“Sheet1”). Range (“A1”). CurrentRegion.Copy Il codice precedente viene utilizzato per copiare tutti i dati dalla cartella di lavoro definita.
ThisWorkbook.Worksheets (“Main”). Range (“A15”). PasteSpecial (xlPasteValues)
Il codice sopra viene utilizzato per incollare i dati copiati nel foglio di lavoro principale.
Segui sotto per il codice
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
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]