Thưa thầy! Làm thế nào để tạo chọn dữ liệu theo kiểu "list" ví dụ như chọn Quốc gia là : Việt Nam thì ô tỉnh thành sẽ lên các thành phố để mình chọn, rồi khi chọn "Tỉnh/Thành Phố" thì ô tiếp theo tự hiện list "Quận/huyện". Thầy hướng dẫn giúp. Cám ơn thầy
Bạn cần có sẵn danh sách các tỉnh, thành phố và danh sách Quận, huyện tương ứng theo từng tỉnh, thành phố.
Sau đó bạn tạo 1 ô chọn List Tỉnh, thành phố.
Tiếp theo tại 1 ô khác bạn tạo list chọn Quận, huyện (phụ thuộc theo lựa chọn tỉnh, thành phố nào). Bạn có thể tham khảo cách làm ở bài hướng dẫn sau đây nhé:
https://gitiho.com/blog/huong-dan-tao...
Ngoài ra bạn có thể ứng dụng VBA vào việc này cũng khá đơn giản:
- Bước 1: tạo 1 lệnh trích lọc dữ liệu để lọc danh sách Quận, huyện theo thành phố được chọn (sử dụng advanced filter - đã hướng dẫn trong chương 13, bạn có thể áp dụng tương tự trên tình huống này).
- Bước 2: tạo 1 sự kiện Worksheet_change để bắt sự kiện tại ô chọn List tỉnh, thành phố thì sẽ chạy macro ở bước 1 => khi đó bạn sẽ có 1 cột chứa kết quả là danh sách Quận, huyện tương ứng theo tỉnh, thành phố được chọn => dùng data validation tạo list theo cột kết quả này.
Cám ơn thầy!
Cho em hỏi thêm về excel, khi copy sheet hay bị lỗi như vậy thì khắc phục bằng cách nào ? em phải bấm "enter" liên tục rất lâu
Nếu trong file bạn copy có sẵn tên vùng (name range) và name range này giống với name range đã có sẵn trong file nơi bạn dán kết quả thì excel sẽ cảnh báo:
Các name này giống nhau => bị trùng lặp => hỏi cách xử lý: ghi đè hay tách riêng tên
=> việc này sẽ xét theo từng tên => càng nhiều tên thì càng lặp lại lỗi này nhiều.
Do đó khi copy sheet bạn chú ý nên kiểm tra name range trước, hoặc chỉ copy rồi paste riêng từng phần (paste special):
- Đầu tiên dán giá trị (value)
- Sau đó dán định dạng (format)
- Sau đó dán độ rộng cột (column width)
Khi đó sẽ không copy cả sheet mà chỉ lấy nội dung của Sheet thôi.