Dương Thu Hương
Dương Thu Hương
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 360 lượt xem

https//drivegooglecom/file/d/1_JrM Có thể dùng VBA để Chỉ cho phép nhập 3/5 ô

https://drive.google.com/file/d/1_JrM...

Cho hỏi: Có thể dùng VBA để: Chỉ cho phép nhập 3/5 ô theo từng ngày, nếu nhập trên 4 ô thì sẽ bôi đỏ cả 5 ô đó/ bôi đỏ ngày đó. Điều kiện 2: Không cho phép nhập 3 mã khách hàng khác nhau trong cùng 1 ngày hoặc bôi đỏ nếu nhập từ 3 mã khách hàng trở lên. (Vùng nhập dữ liệu là E5:J9 cho Loại 1 và E11:J15 cho Loại 2).

2. Nếu dùng VBA phức tạp, có thể dùng Conditional Formatting trong excel bằng cách nào để bôi đỏ các ô khi vi phạm điều kiện trên?

Câu hỏi của mình hơi dài, nếu chưa rõ thì cứ hỏi lại mình nhé. Thanks! 

Thảo luận 1 câu trả lời
Lượt xem 360 lượt xem
Vỗ tay vỗ tay
Dương Thu Hương 17:07 - Jul 12, 2021

Mình trả lời như sau nhé:

1. Link drive của bạn mình chưa xem được, do khi chia sẻ bạn đang đặt chế độ riêng tư.

2. file mình làm mẫu:

https://drive.google.com/file/d/1INhH...

cách làm:

- với điều kiện chỉ nhập 3/5 ô thì dùng conditional formatitng bình thường, ko cần VBA. Đếm số ô có dữ liệu trên từng cột là được. Nếu lớn hơn 3 thì định dạng

- Với điều kiện chỉ nhập 2 mã khách, nhập nhiều hơn 2 mã thì tô màu => cần có VBA xét tổng số mã (không trùng lặp) => code VBA bạn có thể xem trong file, code này sử dụng 2 vòng lặp lồng nhau theo dòng và cột nên hơi phức tạp 1 chút. Bạn đọc kỹ code để hiểu.

Mục đích là tạo kết quả dòng tổng cộng: đếm số mã khách không trùng lặp => sau đó dùng CF theo giá trị dòng tổng cộng: nếu lớn hơn 2 thì tô màu cả cột đó.

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
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông