Tìm kiếm và truy xuất dữ liệu từ sheet này qua sheet khác (1 người xem)

Liên hệ QC

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

BinXi1223

Thành viên mới
Tham gia
26/10/16
Bài viết
22
Được thích
0
Ai giỏi VBA có thể viết dùm code cho ô Tra cứu giùm em được không ạ. Làm thế nào mà truy xuất theo điều kiện là ô c10 từ dữ liệu sheets bangtinhluong được không ạ. Mới tập tành VBA nên mấy bác giúp em để em tham khảo nâng cao khả năng code VB ạ. Em cảm ơn nhiều lắm
 

File đính kèm

Ai giỏi VBA có thể viết dùm code cho ô Tra cứu giùm em được không ạ. Làm thế nào mà truy xuất theo điều kiện là ô c10 từ dữ liệu sheets bangtinhluong được không ạ. Mới tập tành VBA nên mấy bác giúp em để em tham khảo nâng cao khả năng code VB ạ. Em cảm ơn nhiều lắm
Bạn chép Code dưới đây vào Sheets("Theo_Thanh_Vien"):
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim DL, Kq(1 To 50000, 1 To 5), Dk$, i&, k&
    If Target.Address = "$C$10" Then
        Dk = [C10].Value
        DL = Sheets("Bang_Tinh_Luong").Range("B5", Sheets("Bang_Tinh_Luong").Range("B65000").End(3)).Resize(, 21)
        Application.ScreenUpdating = False
        For i = 1 To UBound(DL)
            If DL(i, 3) = Dk And Dk <> Empty Then
                k = k + 1
                Kq(k, 1) = DL(i, 3)
                Kq(k, 2) = DL(i, 4)
                Kq(k, 3) = DL(i, 2)
                Kq(k, 4) = DL(i, 5)
                Kq(k, 5) = DL(i, 21)
            End If
        Next i
        If i Then
            Range("B15:F65000").ClearContents
            Range("b15").Resize(i, 5) = Kq
            Range("b15:F65000").Borders.LineStyle = xlNone
            Range("B15", Range("B65000").End(3)).Resize(, 5).Borders.LineStyle = xlContinuous
        Else
            Range("b15:F65000").ClearContents
            Range("b15:F65000").Borders.LineStyle = xlNone
        End If
    End If
End Sub
Bạn xem File
 

File đính kèm

Upvote 0
Bạn chép Code dưới đây vào Sheets("Theo_Thanh_Vien"):
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim DL, Kq(1 To 50000, 1 To 5), Dk$, i&, k&
    If Target.Address = "$C$10" Then
        Dk = [C10].Value
        DL = Sheets("Bang_Tinh_Luong").Range("B5", Sheets("Bang_Tinh_Luong").Range("B65000").End(3)).Resize(, 21)
        Application.ScreenUpdating = False
        For i = 1 To UBound(DL)
            If DL(i, 3) = Dk And Dk <> Empty Then
                k = k + 1
                Kq(k, 1) = DL(i, 3)
                Kq(k, 2) = DL(i, 4)
                Kq(k, 3) = DL(i, 2)
                Kq(k, 4) = DL(i, 5)
                Kq(k, 5) = DL(i, 21)
            End If
        Next i
        If i Then
            Range("B15:F65000").ClearContents
            Range("b15").Resize(i, 5) = Kq
            Range("b15:F65000").Borders.LineStyle = xlNone
            Range("B15", Range("B65000").End(3)).Resize(, 5).Borders.LineStyle = xlContinuous
        Else
            Range("b15:F65000").ClearContents
            Range("b15:F65000").Borders.LineStyle = xlNone
        End If
    End If
End Sub
Bạn xem File

Code bạn PhuLien1902 hay quá! Đang ngồi chờ chúc mừng bạn lên sao vàng đứng im. Hihi
 
Upvote 0
Cảm ơn bạn quá khen, tôi vẫn còn non và xanh lắm.
Nếu mà đem doatmenhhon ra làm đích để phấn đấu, có lẽ tôi phải mất vài năm nữa cũng nên.
 
Upvote 0
Bạn chép Code dưới đây vào Sheets("Theo_Thanh_Vien"):
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim DL, Kq(1 To 50000, 1 To 5), Dk$, i&, k&
    If Target.Address = "$C$10" Then
        Dk = [C10].Value
        DL = Sheets("Bang_Tinh_Luong").Range("B5", Sheets("Bang_Tinh_Luong").Range("B65000").End(3)).Resize(, 21)
        Application.ScreenUpdating = False
        For i = 1 To UBound(DL)
            If DL(i, 3) = Dk And Dk <> Empty Then
                k = k + 1
                Kq(k, 1) = DL(i, 3)
                Kq(k, 2) = DL(i, 4)
                Kq(k, 3) = DL(i, 2)
                Kq(k, 4) = DL(i, 5)
                Kq(k, 5) = DL(i, 21)
            End If
        Next i
        If i Then
            Range("B15:F65000").ClearContents
            Range("b15").Resize(i, 5) = Kq
            Range("b15:F65000").Borders.LineStyle = xlNone
            Range("B15", Range("B65000").End(3)).Resize(, 5).Borders.LineStyle = xlContinuous
        Else
            Range("b15:F65000").ClearContents
            Range("b15:F65000").Borders.LineStyle = xlNone
        End If
    End If
End Sub
Bạn xem File
Em muốn chuyển đoạn code trên thành đoạn sub được không ạ và chuyển như thế nào ạ. Tại vì em muốn làm sub cho nút Tra cứu chứ không phải tạo list ạ
 
Upvote 0
Em muốn chuyển đoạn code trên thành đoạn sub được không ạ và chuyển như thế nào ạ. Tại vì em muốn làm sub cho nút Tra cứu chứ không phải tạo list ạ
Nếu bạn muốn tạo Sub thì thế Code như sau:
PHP:
Sub Theo_Thanh_Vien()
    Dim DL, Kq(1 To 50000, 1 To 5), Dk$, i&, k&
    Dk = [C10].Value
    DL = Sheets("Bang_Tinh_Luong").Range("B5", Sheets("Bang_Tinh_Luong").Range("B65000").End(3)).Resize(, 21)
    Application.ScreenUpdating = False
    For i = 1 To UBound(DL)
        If DL(i, 3) = Dk And Dk <> Empty Then
            k = k + 1
            Kq(k, 1) = DL(i, 3)
            Kq(k, 2) = DL(i, 4)
            Kq(k, 3) = DL(i, 2)
            Kq(k, 4) = DL(i, 5)
            Kq(k, 5) = DL(i, 21)
        End If
    Next i
    If i Then
        Range("B15:F65000").ClearContents
        Range("b15").Resize(i, 5) = Kq
        Range("b15:F65000").Borders.LineStyle = xlNone
        Range("B15", Range("B65000").End(3)).Resize(, 5).Borders.LineStyle = xlContinuous
    Else
        Range("b15:F65000").ClearContents
        Range("b15:F65000").Borders.LineStyle = xlNone
    End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom