Tạo list có điều kiện trong excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

mphoang91

Thành viên mới
Tham gia
7/2/15
Bài viết
9
Được thích
0
Em có 01 file dữ liệu cấp hành chính của Việt Nam. Phân chia làm 3 cấp (mọi người có thể xem file)
Vậy có các nào làm list chọn, ví dụ em chọn Thành phố Hà Nội thì nó sẽ chỉ hiện ra những Quận, Huyện của thành phố Hà Nội, và cũng từ Quận Huyện đó chạy ra Phường, xã.
Mong mọi người giúp đỡ, em xin cảm ơn.
 

File đính kèm

Em có 01 file dữ liệu cấp hành chính của Việt Nam. Phân chia làm 3 cấp (mọi người có thể xem file)
Vậy có các nào làm list chọn, ví dụ em chọn Thành phố Hà Nội thì nó sẽ chỉ hiện ra những Quận, Huyện của thành phố Hà Nội, và cũng từ Quận Huyện đó chạy ra Phường, xã.
Mong mọi người giúp đỡ, em xin cảm ơn.
Mình có cái gần giống bạn nghiên cứu xem:
 

File đính kèm

Thêm file nữa để bạn tham khảo (VBA)
 

File đính kèm

File có macro sự kiện với nội dung được dẫn ra bên dưới.
Để hiểu được ta bắt đầu xem ô Validation tại [C1]
Khi 1 chọn 1 số từ danh sách sổ xuống, thì macro sẽ thực hiện các bước sau:
1./ Khai báo các tham biến cần xài
2./ Đem vùng ô có dữ liệu của các cột [F:G] gán vố tham biến (đối tượng)
3./ Thực hiện công cuộc tìm kiếm dữ liệu đã chọn trong vùng chứa trong tham biến
4./ Nếu tìm thấy thì láy trị cùng dòng (với ô được tìm thấy) tại cột [B:B] gán vố 1 trong 2 tham biến tương ứng;
Nếu tìm thấy ở cột [F] thì chép nối vô tham biến 1 & ở cột còn lại thì chép nối vô tham biến sau
5./ Ghi kết quả tìm thấy vô 2 ô tương ứng.
Mong là đã giúp bạn ít nhiều & chúc vui ngày cuối tuần.

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [c1]) Is Nothing Then
    Dim Rng As Range, sRng As Range
    Dim MyAdd As String, TT01 As String, TT02 As String
  
    Set Rng = [f23].CurrentRegion
    Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
            If sRng.Column = 6 Then
                TT01 = Cells(sRng.Row, "B").Value & "; " & TT01
            ElseIf sRng.Column = 7 Then
                TT02 = Cells(sRng.Row, "B").Value & "; " & TT02
            End If
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    Else
        MsgBox "Nothing"
    End If
    [c3].Value = TT01:                  [d3].Value = TT02
 End If
End Sub
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom