Code list danh sách phụ thuộc

Liên hệ QC

thanhthuy_200997

Thành viên mới
Tham gia
23/10/19
Bài viết
3
Được thích
2
Hiện em đang code VBA nội dung là list danh sách data này phụ thuộc vào danh sách data khác.
Em đã code đúng với trường hợp một ô. nhưng hiện tại e đang muốn là khi em thay đổi bất cứ lý do chung trong ô nào của cột S trong sheet "CTT" nó đều sẽ lọc được lý do riêng ở cột T trong sheet "CTT" tương ứng(phụ lục của lý do chung-riêng em để trong list lý do ạ).
Làm sao để viết sự kiện nếu bất cứ dữ kiện trong ô nào của cột S thay đổi thì lý riêng sẽ chạy ra tương ứng với dữ liệu ô vừa bị thay đổi ạ???
 

File đính kèm

Theo như mình hiểu thì bạn thực hiện sẽ như sau:

(1) Lấy trang tính mới & chép 3 cột dữ liệu đầu của trang 'List Lý Do' sang đó (để lưu ngõ hầu ngừa sai sót trong thao tác)

(2) Chạy macro này lần I:

PHP:
Sub ThemChiSoTiepDau()
Dim Cls As Range, Rng As Range, sRng As Range
Dim W As Integer
Dim MyAdd As String, STT As String
Const FC As String = " "

Sheets("List Lý Do").Select
Set Rng = Range([B1], [B1].End(xlDown))
For Each Cls In Range([A2], [A1].End(xlDown))
    W = W + 1:                          STT = Right("0" & CStr(W), 2) & Space(1)
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
            sRng.Offset(, 1).Value = STT & sRng.Offset(, 1).Value
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
7  ' Cls.Value = STT & Cls.Value        '      '
Next Cls
End Sub
(Dòng lệnh đánh số 7 đang được/bị vô hiệu hóa)

(3) Kiểm tra xem macro có thực hiện & cho ta kết quả mỹ mãn hay không?

(4) Chép đè dữ liệu cột C & chạy macro với việc không vô hiệu hóa dòng lệnh mang số đó nữa.

(5) Chuyện còn lại là của bạn & chúc thành công.
 
Upvote 0
Theo như mình hiểu thì bạn thực hiện sẽ như sau:

(1) Lấy trang tính mới & chép 3 cột dữ liệu đầu của trang 'List Lý Do' sang đó (để lưu ngõ hầu ngừa sai sót trong thao tác)

(2) Chạy macro này lần I:

PHP:
Sub ThemChiSoTiepDau()
Dim Cls As Range, Rng As Range, sRng As Range
Dim W As Integer
Dim MyAdd As String, STT As String
Const FC As String = " "

Sheets("List Lý Do").Select
Set Rng = Range([B1], [B1].End(xlDown))
For Each Cls In Range([A2], [A1].End(xlDown))
    W = W + 1:                          STT = Right("0" & CStr(W), 2) & Space(1)
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
            sRng.Offset(, 1).Value = STT & sRng.Offset(, 1).Value
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
7  ' Cls.Value = STT & Cls.Value        '      '
Next Cls
End Sub
(Dòng lệnh đánh số 7 đang được/bị vô hiệu hóa)

(3) Kiểm tra xem macro có thực hiện & cho ta kết quả mỹ mãn hay không?

(4) Chép đè dữ liệu cột C & chạy macro với việc không vô hiệu hóa dòng lệnh mang số đó nữa.

(5) Chuyện còn lại là của bạn & chúc thành công.
Em đã cop thử và chạy marcro. do tạo list phụ thuộc sau đó em sẽ dùng data valuation để lọc danh sách đổ xuống theo điều kiện(trong sheet "CTT" của file em) Macro của anh em đã chạy nhưng em thấy nó không ra đúng cái phụ thuộc lý do chung theo lý do riêng. Em dự định là tạo thêm câu lệnh IF(Nếu trong vùng dữ liệu ô nào của cột S trong sheet "CTT" được trỏ chuột đến thì giá trị đó sẽ được so sánh với các ô của cột B trong sheet "CTT" để lấy lý do tương ứng. Anh có thể giúp em chỗ câu lệnh IF không ạ?
 
Upvote 0
Hiện em đang code VBA nội dung là list danh sách data này phụ thuộc vào danh sách data khác.
Em đã code đúng với trường hợp một ô. nhưng hiện tại e đang muốn là khi em thay đổi bất cứ lý do chung trong ô nào của cột S trong sheet "CTT" nó đều sẽ lọc được lý do riêng ở cột T trong sheet "CTT" tương ứng(phụ lục của lý do chung-riêng em để trong list lý do ạ).
Làm sao để viết sự kiện nếu bất cứ dữ kiện trong ô nào của cột S thay đổi thì lý riêng sẽ chạy ra tương ứng với dữ liệu ô vừa bị thay đổi ạ???
Hiện tại list danh sách phụ thuộc thì em đã làm được theo code của em trong file trên rồi. Vấn đề của em hiện tại là trong sheet "CTT" ở cột S em muốn khi em chọn lý do chung ở bất kỳ ô nào trong cột S thì bên cột T sẽ nhảy ra giá trị tương ứng(nguồn của cột T em lấy từ cột G trong sheet"list lý do"). Em không biết dùng câu lệnh nào để đặt điều kiện là nếu dữ kiện trong bất cứ ô ở cột S nào thay đổi thì cột G trong sheet"list lý do" sẽ nhảy theo nó. mọi người giúp em với ạ!!!
 

File đính kèm

Upvote 0
Bạn vận hành thử với 2 Validation phụ thuộc
 

File đính kèm

Upvote 0
Hiện tại list danh sách phụ thuộc thì em đã làm được theo code của em trong file trên rồi. Vấn đề của em hiện tại là trong sheet "CTT" ở cột S em muốn khi em chọn lý do chung ở bất kỳ ô nào trong cột S thì bên cột T sẽ nhảy ra giá trị tương ứng(nguồn của cột T em lấy từ cột G trong sheet"list lý do"). Em không biết dùng câu lệnh nào để đặt điều kiện là nếu dữ kiện trong bất cứ ô ở cột S nào thay đổi thì cột G trong sheet"list lý do" sẽ nhảy theo nó. mọi người giúp em với ạ!!!
Bạn xem file có đúng ý không? tên sheet " list Lý do" nên đổi thành "Listlydo".
 

File đính kèm

Upvote 0
Bạn xem file có đúng ý không? tên sheet " list Lý do" nên đổi thành "Listlydo".
Nếu là vậy, nên đổi thành 'ListLyDo'
(òn là mình thì sẽ phải là hoặc 'DSLiDo' hay chỉ là 'LiDo'

Nhưng file của bạn là hết ý luôn, cảm ơn nhiều!
Chúc vui nha!
 
Upvote 0
Web KT

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

Back
Top Bottom