Trong bài viết này, chúng tôi sẽ tạo một macro để sao chép dữ liệu từ một sổ làm việc đã đóng.

Chúng tôi có “DataFile” chứa dữ liệu nhân viên, bao gồm Tên, Tuổi và Miền.

ArrowRawData

Chúng tôi muốn sao chép dữ liệu từ tệp này sang tệp chính.

ArrowMain

Trước khi chạy macro, chúng ta cần chỉ định đường dẫn tệp và tên tệp.

ArrowOutput

Giải thích logic

Chúng tôi đã tạo macro “OpenClosedWorkbook” để sao chép dữ liệu từ sổ làm việc đã đóng. Nó mở sổ làm việc, sao chép dữ liệu vào sổ làm việc chính và sau đó đóng sổ làm việc trước đó.

Giải thích mã

Đặt WB = Workbooks.Open (FileName)

Đoạn mã trên được sử dụng để tạo một đối tượng của sổ làm việc đã mở.

WB.Worksheets (“Sheet1”). Range (“A1”). CurrentRegion.Copy Đoạn mã trên được sử dụng để sao chép tất cả dữ liệu từ sổ làm việc đã xác định.

ThisWorkbook.Worksheets (“Main”). Range (“A15”). PasteSpecial (xlPasteValues)

Đoạn mã trên được sử dụng để dán dữ liệu đã sao chép vào trang tính chính.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]