Tôi không làm được vừa nhấn vào các shapes (ví dụ Menu để quay về Menu hoặc qua các sheet ẩn và làm ẩn các sheet)
Nhờ giảng viên hỗ trợ tôi nhé
Chào bạn bạn chụp hình đoạn code hoặc gửi file lên giúp gitiho nhé.
Mình đã làm được code để chuyển qua lại giữ sheet menu và các sheet khác rồi anh nhé. Vấn đề mình vẫn gặp phải là:
1, làm sao để khi tại sheet menu mình không bị lấy dữ liệu của các sheet khác qua,
2, khi đứng ở sheet menu thì các sheet khác dược ẩn giống cách trình bày tại bài giảng
3, Tại các sheet dữ liệu sau sheet menu, làm sao để xem dữ liệu cho từng nội dung muốn hiện ra giống cách trình bày tại từng nội dung của bài giảng.
Anh vui lòng hướng dẫn dùm mình nhé. Mình có gửi kèm bảng làm nháp của mình để anh xem nhé
Chào bạn đọc theo bài viết này nhé
Mình hướng dẫn cách làm như sau nhé:
1. Từ cách sheet quay lại MENU
Nguyên tắc:
- Hiện sheet MENU
- Ẩn sheet đang kích hoạt
- Kích hoạt sheet MENU
Chú ý thứ tự trên, bởi nếu bạn ẩn sheet đang kích hoạt ngay mà Sheet MENU cũng đang ẩn => có thể báo lỗi khi tất cả các sheet đều ẩn.
Phải luôn có 1 sheet được hiển thị => sẽ luôn hiện sheet MENU trước, sau đó làm gì thì làm.
Có mẫu:
Sub Link_MENU
Sheets("MENU").Visible = xlSheetVisible
ActiveSheet.Visible = xlSheetHidden
Sheets("MENU").Activate
End sub
chỉ cần 1 lệnh này để gắn vào nút Quay lại MENU, đặt trong tất cả các sheet thành phần (dùng chung sub này được, do dùng ActiveSheet nên sẽ tính theo sheet đang mở)
2. Từ MENU mở ra các sheet bên trong
Nguyên tắc:
- Hiện sheet cần mở
- Kích hoạt sheet cần mở
Ví dụ bạn muốn mở sheet có tên là "Data" thì viết như sau:
Sub Link_Data
Sheets("Data").Visible = xlSheetVisible
Sheets("Data").Activate
End sub
với mỗi sheet thành phần bạn sẽ làm 1 sub riêng link tới sheet đó.
Cảm ơn anh rất nhiều, mình sẽ thực hành lại theo công thức trên nhé.
Mình có 1 vấn đề cần hỏi luôn là đối với các bảng excel mình đã có dữ liệu sẳn có, mình muốn đưa nó qua thành các marco thì cách làm như thế nào ạ.
Chào bạn, bạn cần sử dùng hàm bằng cách gọi application.worksheets function hoặc viết code bằng vòng lặp để thực hiện yêu cầu trên nhé.
Mình đã làm được cách quay qua quay về từ sheet menu và các sheet bê trong rồi, cảm ơn anh.
Còn việc sheet bên trong mình muốn tạo các shapes gọi về giống như bên trong bài giảng thì làm thế nào ạ.
Chào bạn bạn làm như sau:
Sub Link_Data
Sheets("Data").Visible = xlSheetVisible
Sheets("Data").Activate
End sub
Bạn gắn macro Link_MENU vào 1 Shapes duy nhất. Sau đó copy shapes này vào các sheet => 1 shapes dùng cho nhiều sheet được mà.
Khi bấm vào shapes này đều có chung 1 tác dụng là quay trở về MENU