caico9x
Thành viên mới

- Tham gia
- 28/7/13
- Bài viết
- 48
- Được thích
- 4
Đặt validation nhiều nơi bằng cách dùng VBA
Chào thầy ndu96081631, em muốn đăt validation tại nhiều ô như :Tại sheet2 em muốn đặt Validation vào các cột B;D;F;H;J với kết quả giống như ở Ô (B1) sheet1;THÌ CÓ CÁC NÀO LÀM KHÔNG ???Nếu chọn hành động THÊM DỮ LIỆU thì cập nhật code. Vậy ta phải dùng sự kiện Change chứ sao lại SelectionChange.
SelectionChange là hành động dùng chuột click chổ này chổ nọ trên bảng tính... vậy tôi chỉ click chơi chơi trên cột A chứ hổng thay đổi dữ liệu gì mà code cũng chạy à? Vô lý
Suy nghĩ xem!
----------
Nếu là tôi thì tôi sẽ viết thế này:
Mã:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim arr, Item, dic As Object, tmp As String On Error Resume Next If Target.Address = "$B$1" Then arr = Range("A1:A10000").Value Set dic = CreateObject("Scripting.Dictionary") For Each Item In arr tmp = CStr(Item) If Len(tmp) Then If Not dic.Exists(tmp) Then dic.Add tmp, "" End If Next With Target.Validation .Delete If dic.Count Then .Add 3, , , Join(dic.Keys, ",") End With End If End Sub