En este artículo, crearemos una macro para copiar datos de un libro cerrado.

Tenemos «DataFile» que contiene los datos de los empleados, que incluyen Nombre, Edad y Dominio.

ArrowRawData

Queremos copiar los datos de este archivo al archivo principal.

ArrowMain

Antes de ejecutar la macro, debemos especificar la ruta del archivo y el nombre del archivo.

ArrowOutput

Explicación lógica

Hemos creado la macro «OpenClosedWorkbook» para copiar datos del libro cerrado. Abre el libro de trabajo, copia los datos en el libro de trabajo principal y luego cierra el libro de trabajo anterior.

Explicación del código

Establezca WB = Workbooks.Open (FileName)

El código anterior se usa para crear un objeto del libro abierto.

WB.Worksheets («Sheet1»). Range («A1»). CurrentRegion.Copy El código anterior se utiliza para copiar todos los datos del libro de trabajo definido.

ThisWorkbook.Worksheets («Main»). Range («A15»). PasteSpecial (xlPasteValues)

El código anterior se utiliza para pegar los datos copiados en la hoja de trabajo principal.

Siga a continuación el código

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 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]