Trong bài viết này, chúng tôi sẽ tạo một thủ tục để tìm nạp dữ liệu từ sổ làm việc đã đóng sang sổ làm việc đang hoạt động bằng cách sử dụng mã VBA.

Dữ liệu thô mà chúng tôi muốn tìm nạp có trong phạm vi A13: E22 trên trang tính “Sheet1” trong tệp “DataFile.xlsx” được đặt trong đường dẫn “C: \ Users \ Ramandeep \ Desktop”.

dataFile

Giải thích logic

Chúng tôi đã tạo hai thủ tục trong bài viết này: -. CallMainProcedure. GetValuesFromAClosedWorkbook

Quy trình callMainProcedure

Thủ tục này được sử dụng để gọi thủ tục “GetValuesFromAClosedWorkbook”. Nó gán các giá trị cho tham số của thủ tục “GetValuesFromAClosedWorkbook”.

Thủ tục GetValuesFromAClosedWorkbook

Thủ tục này lấy đường dẫn tệp và tên tệp của sổ làm việc đã đóng làm tham số. Nó cũng lấy tên trang tính và phạm vi từ sổ làm việc đã đóng làm tham số. Sử dụng giá trị của tham số đầu vào, công thức mảng được nhập vào phạm vi A13: E22 của trang tính hiện hoạt dưới dạng \ {= ‘C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’! A13: E22} Công thức mảng mang lại dữ liệu bắt buộc từ sổ làm việc đã đóng. Khi dữ liệu được tìm nạp vào trang tính hiện hoạt, các công thức từ trang tính sẽ bị xóa bằng cách thay thế các công thức bằng giá trị.

ArrowAfterRunningMacro

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

Option Explicit

Sub CallingMainProcedure()

'Calling GetValuesFromAClosedWorkbook procedure

'Specifying the file path, filename, sheet name and range of data

GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _

"Sheet1", "A13:E22"

End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _

fName As String, sName, cellRange As String)



With ActiveSheet.Range(cellRange)

'Assigning the array formula to the specified range

.FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange

'Removing formula from the cell and pasting the values in the cell

.Value = .Value

End With

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]