Nhận giá trị từ sổ làm việc đã đóng bằng VBA trong Microsoft Excel
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”.
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ị.
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]