Excel VBA: tên tệp sổ làm việc dưới dạng biến
Xin chào
Tôi đang cố gắng cải thiện một số mã VBA có khả năng sao chép dữ liệu thành công từ bốn sổ làm việc riêng biệt và dán vào bốn trang tính riêng biệt trên một sổ làm việc đích.
Điều tôi muốn làm là truyền tên tệp của sổ làm việc vào một biến để tôi có thể sử dụng câu lệnh CASE để thực hiện thao tác sao chép/dán cần thiết theo cách trực tiếp hơn.
Đoạn mã sau hoạt động theo dạng dài nhưng khi tôi thử truyền tên tệp vào biến wbfrom (và wbto) thì Excel không hoạt động:
wbfrom.Sheets("ABC").Range("A9:R213").Copy _
wbto.Sheets("XYZ").Range("A9")
Tôi đã thử với và không có tên đường dẫn nhưng đều vô ích. Tôi nghĩ tôi đã thử mọi cách hoán vị của
Làm mờ wbfrom dưới dạng Workbook
Dim wbstring thành String
… ngoại trừ cái còn hoạt động.
Bất kỳ sự hướng dẫn nào cũng sẽ được đánh giá cao.
Dave
Trả lời:
Nếu sổ làm việc của bạn đã đóng, thì bạn có thể sử dụng kiểu cấu trúc sau -
Đặt wbfrom = Workbooks.Open("C:\Test\abc.xlsx")
Nếu nó đã mở rồi thì
Đặt wbfrom = Workbooks("abc.xlsx")
Comments
Post a Comment