Mai Hoàng Hải
Mai Hoàng Hải
Thảo luận 3 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 292 lượt xem

tại sao trong trường hợp này mình không làm việc với activeworkbook mà lại

Thầy ơi, tại sao trong trường hợp này mình không làm việc với activeworkbook mà lại sử dụng biến đại diện của workbook ?
Thảo luận 3 câu trả lời
Lượt xem 292 lượt xem
Vỗ tay vỗ tay
Mai Hoàng Hải 09:07 - Jul 06, 2020
vì ActiveWorkbook dễ bị thay đổi trong quá trình code chạy nên cách tốt nhất là gán biến cụ thể cho từng đối tượng, sau đó bạn làm việc theo các biến để tránh nhầm lần.
Khi bạn gán biến cho ActiveWorkbook ở đầu code thì VBA sẽ nhớ workbook đó là workbook nào, và sẽ không bị thay đổi nếu như bạn không yêu cầu VBA xác định lại biến ActiveWorkbook (bản chất là đánh dấu lại ActiveWorkbook để không bị nhầm lẫn, thay đổi)
Vỗ tay vỗ tay
Mai Hoàng Hải 11:07 - Jul 29, 2020
Em chưa hình dung lắm. Trong trường hợp này em nên sửa code như thế nào ha thầy
Vỗ tay vỗ tay
Mai Hoàng Hải 09:08 - Aug 10, 2020
chào bạn,
phần gán biến cho workbook trong bài học này đã hướng dẫn rất chi tiết rồi.
bạn vui lòng xem lại nhé, có thể xem lại nhiều lần để hiểu.
Bạn cứ hình dung là activeworkbook rất dễ thay đổi. Tại thời điểm này thì book1 là activeworkbook, nhưng lúc sau lại là book2. Vậy làm thế nào để ghi nhớ lại là book1 mới là book cần làm việc? đó là tại 1 thời điểm book1 được activate, bạn gán biến. Lúc này vba sẽ chỉ nhớ biến đó thôi. Biến sẽ không thay đổi giá trị trong quá trình chạy code cho tới khi bạn xác định lại giá trị của biến.
Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội