1. Trang chủ
  2. » Công Nghệ Thông Tin

Chiêu 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1 ppsx

1 195 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 98,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chiêu 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1.. Rất hữu ích cho người dùng Excel khi bạn cho họ 1 danh sách để chọn bằng Validation, nhưng cái danh sách này tự động ng

Trang 1

Chiêu 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1

Rất hữu ích cho người dùng Excel khi bạn cho họ 1 danh sách để chọn bằng Validation,

nhưng cái danh sách này tự động ngắn lại mỗi khi họ chọn 1 mục trong danh sách, để

khỏi phải lựa chọn trong 1 danh sách quá dài, đồng thời tránh việc nhập trùng dữ liệu

(đôi khi cần thiết)

Bước 1:

Trong 1 sheet bất kỳ (thí dụ sheet1) bạn có 1 danh sách trong vùng A1:A10 Bạn hy đặt

name cho danh sách này bằng cách tô chọn vùng danh sách, rồi gõ tên MyList trong hộp

namebox

Bước 2:

Trong 1 sheet khác mà bạn muốn dùng validation dựa vào danh sách MyList nói trên, tô

chọn vùng bạn cần, mở menu Data – Validation, chọn Allow là List, source là =MyList,

rồi nhấn OK

Bước 3: mở cửa sổ VBA của sheet đó, copy đoạn code sau:

Code:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim strVal As String

Dim strEntry As String

On Error Resume Next

strVal = Target.Validation.Formula1

If Not strVal = vbNullString Then

strEntry = Target

Application.EnableEvents = False

With Sheet1.Range("MyList")

Replace What:=strEntry, _

Replacement:="", LookAt:=xlWhole, _

SearchOrder:=xlByRows, MatchCase:=False

Sort Key1:=.Range("A1"), Order1:=xlAscending, _

Header:=xlNo, OrderCustom:=1, MatchCase:=False, _

Orientation:=xlTopToBottom

Range("A1", Range("A65536").End(xlUp)).Name = "MyList"

End With

End If

Application.EnableEvents = True

On Error GoTo 0

End Sub

Đóng cửa sổ VBA rồi quay về Excel Thử chọn 1 mục trong validation, sang 1 ô khác và

xổ cái validation xuống, bạn sẽ thấy mục vừa chọn xong không còn trong list nữa

Lưu ý trong code, khi nói đến name MyList, phải xác định rõ Sheet1.MyList, vì nếu

không, VBA sẽ cho rằng name này nằm chung sheet với sheet chứa code và sẽ không

tìm thấy và báo lỗi

Comment [1]: BEGIN TEMPLATE:

bbcode_code

Comment [2]: END TEMPLATE:

bbcode_code

Ngày đăng: 08/07/2014, 12:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w