В этой статье мы создадим макрос для копирования данных из закрытой книги.

У нас есть «файл данных», содержащий данные о сотрудниках, включая имя, возраст и домен.

ArrowRawData

Мы хотим скопировать данные из этого файла в основной файл.

ArrowMain

Перед запуском макроса нам нужно указать путь к файлу и имя файла.

ArrowOutput

Логическое объяснение

Мы создали макрос «OpenClosedWorkbook» для копирования данных из закрытой книги. Он открывает книгу, копирует данные в основную книгу, а затем закрывает предыдущую книгу.

Объяснение кода

Установите WB = Workbooks.Open (FileName)

Приведенный выше код используется для создания объекта открытой книги.

WB.Worksheets («Sheet1»). Range («A1»). CurrentRegion.Copy Приведенный выше код используется для копирования всех данных из заданной книги.

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

Приведенный выше код используется для вставки скопированных данных на основной рабочий лист.

Пожалуйста, введите код ниже

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

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]