Merle đang cố gắng sử dụng tính năng Xác thực Dữ liệu của Excel để giới hạn những gì người dùng có thể chọn trong một ô. Khi người dùng kích hoạt một ô, anh ta chỉ muốn câu trả lời là Có, Không hoặc N / A; anh ta không muốn người dùng có thể ra khỏi ô và để trống (trống). Merle đã thiết lập danh sách cho các giá trị được chấp nhận (Có, Không và N / A) và đã bỏ chọn hộp kiểm Bỏ qua Khoảng trống khi thiết lập Xác thực dữ liệu.

Vấn đề là khi ai đó kích hoạt ô, có thể họ vẫn để trống. Lần duy nhất mà Excel không cho phép người đó để trống ô là nếu họ bắt đầu chỉnh sửa ô và cố gắng để trống sau khi chỉnh sửa. Merle muốn, một khi ô được chọn, người dùng hoàn toàn chỉ có thể rời khỏi ô nếu họ chọn Có, Không hoặc N / A.

Bản thân Data Validation không thể đảm nhận việc này. Tuy nhiên, có một số cách mà bạn có thể giải quyết vấn đề. Ý tưởng đầu tiên là sửa đổi các tùy chọn mà bạn cung cấp cho người dùng. Ví dụ: giả sử bạn thêm lựa chọn thứ tư là “Cung cấp câu trả lời”. Sau đó, bạn có thể thay đổi giá trị trong ô thành cùng một giá trị và lưu sổ làm việc của mình. Khi người dùng mở nó, ô chứa “Cung cấp câu trả lời” và khi họ chọn ô, họ sẽ không thể bỏ trống nó; họ sẽ cần cung cấp câu trả lời.

Một tùy chọn khác là sử dụng macro kết hợp với Xác thực dữ liệu mà bạn đã thiết lập. Phương pháp dễ nhất là thiết lập một trình xử lý sự kiện cho mỗi lần lựa chọn thay đổi trong trang tính. Ví dụ sau sẽ bắt đầu hoạt động nếu lựa chọn ô là C22 (cũng là nơi Xác thực dữ liệu của bạn).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rng As Range     Set rng = Range("C22")

If Application.Intersect(Target, rng) Is Nothing Then         MsgBox "You must select the answer from the list"

End If End Sub

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (8767) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.