Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi trong Excel?

Đối với danh sách thả xuống phụ thuộc, khi giá trị của danh sách thả xuống chính bị thay đổi, giá trị được chọn trong danh sách thứ hai sẽ không hợp lệ. Bạn phải xóa thủ công giá trị không hợp lệ khỏi danh sách thả xuống thứ hai sau khi chọn thay đổi trong danh sách đầu tiên. Trong bài viết này, tôi sẽ chỉ cho bạn một phương pháp để tự động xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi trong Excel.

Xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi bằng mã VBA


Xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi bằng mã VBA

Mã VBA sau đây giúp bạn xóa danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi trong Excel.

1. Nhấp chuột phải vào tab trang tính chứa danh sách thả xuống phụ thuộc mà bạn sẽ tự động xóa, sau đó chọn Mã Chế độ xem từ trình đơn ngữ cảnh.

2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép mã VBA bên dưới vào cửa sổ.

Mã VBA: xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 2018/06/04
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Validation.Type = 3 Then
        Target.Offset(0, 1).Value = ""
    End If
    Application.EnableEvents = True
End Sub

Chú thích: Trong mã, số 5 là số cột chứa danh sách phụ huynh thả xuống. Trong trường hợp này, danh sách thả xuống của cha mẹ tôi nằm trong cột E.

3. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

Kể từ bây giờ, khi các thay đổi được thực hiện đối với danh sách thả xuống chính, nội dung của danh sách thả xuống thứ hai sẽ tự động bị xóa. Xem ảnh chụp màn hình:


Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (9)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
سلام وقت شما بخیر
ا فایل اکسلی داریم که خروجیش از طریق نرم افزار همکاران سیستم هست یعنی فایل اکسل ما آنلاین به Cơ sở dữ liệu نرم افزار همکاران متصله (این مهم انیست برا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا ا Trò chơi điện tử یعنی یه مدت خیلی کوتاهی جواب میده بعد به حالت قبل بر میگرده با پشتیبانی همکاران هم تماس گرفتیم گفتن مشکل از آفیستونه
(آفیسمون 2016 هست) یعنی عملا اونها هم نتونستن مشکل رو پیدا کنن.

Trò chơi điện tử
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Để đăng với tư cách khách, bình luận của bạn không được xuất bản.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hoạt động hoàn hảo
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó không hoạt động.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Marlborek,
Bạn đang sử dụng phiên bản Excel nào?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang cố gắng để điều này áp dụng cho hai trình đơn thả xuống phụ thuộc và dường như không thể lấy đúng mã. Tôi đã thử sao chép mã và cập nhật độ lệch và sử dụng hàm và và mỗi lần đều gặp lỗi. Có lời khuyên nào không? Tôi muốn hai cột bên cạnh menu thả xuống rõ ràng nếu nó được thay đổi thay vì chỉ một.
H     em
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, đây là cách tôi làm cho nó hoạt động cho nhiều lần thả xuống, chức năng "Và" cũng không hoạt động với tôi nhưng có vẻ như vậy. Về cơ bản, bạn cần một câu lệnh "Nếu" khác nhau cho mỗi danh sách thả xuống mà bạn muốn để trống khi bạn thay đổi giá trị đã chọn trong trình đơn thả xuống đầu tiên. Có thể có một cách hiệu quả hơn để làm điều này nhưng điều này đã hiệu quả với tôi!


Private Sub Worksheet_Change (ByVal Target As Range)
'Cập nhật bởi Extendoffice 2018 / 06 / 04
Application.EnableEvents = Sai
Nếu Target.Column = 2 Và Target.Validation.Type = 3 Thì
Target.Offset (0, 1) .Value = ""
Cuối Nếu
Nếu Target.Column = 2 Và Target.Validation.Type = 3 Thì
Target.Offset (0, 2) .Value = ""
Cuối Nếu
Nếu Target.Column = 2 Và Target.Validation.Type = 3 Thì
Target.Offset (0, 3) .Value = ""
Cuối Nếu
Nếu Target.Column = 2 Và Target.Validation.Type = 3 Thì
Target.Offset (0, 4) .Value = ""
Cuối Nếu
Ứng dụng.EnableEvents = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xóa nhiều hàng gây ra lỗi. Bất kỳ đề xuất ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi gặp lỗi khi xóa nhiều hàng cũng như các hàng bị xóa mà lẽ ra không được xóa. Dưới đây là giải pháp đã làm việc cho tôi.

Private Sub Worksheet_Change (ByVal Target As Range)
'Cập nhật bởi D 2022/08/23
On Error Resume Next
Application.EnableEvents = Sai
Nếu Target.Column = 9 Thì
Nếu Target.Validation.Type = 3 Thì
Application.EnableEvents = Sai
Target.Offset (0, 4) .Value = ""
Cuối Nếu
Cuối Nếu

Application.EnableEvents = Sai
Nếu Target.Column = 9 Thì
Nếu Target.Validation.Type = 3 Thì
Application.EnableEvents = Sai
Target.Offset (0, 5) .Value = ""
Cuối Nếu
Cuối Nếu

Application.EnableEvents = Sai
Nếu Target.Column = 13 Thì
Nếu Target.Validation.Type = 3 Thì
Application.EnableEvents = Sai
Target.Offset (0, 1) .Value = ""
Cuối Nếu
Cuối Nếu

trình xử lý thoát:
Ứng dụng.EnableEvents = True
Thoát Sub

End Sub
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL