Lọc dữ liệu theo hàng ngang (1 người xem)

Liên hệ QC

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

linhtinh12342011

Thành viên mới
Tham gia
21/7/11
Bài viết
10
Được thích
0
Em đang khó khăn trong việc lọc dữ liệu theo hàng ngang.

Trong file em gửi có 3 sheet: Data, Loc so 1, Loc so 2

Em đang muốn lấy dữ liệu giống như ở sheet Loc so 1, Loc so 2 được lọc ra từ sheet Data nhưng không biết làm cách nào?

Các bác giúp em với nhé.
Cảm ơn các bác đã đọc và em cảm ơn gấp đôi đối với các bác phản hồi và cho em giải pháp.
 

File đính kèm

Em đang khó khăn trong việc lọc dữ liệu theo hàng ngang.

Trong file em gửi có 3 sheet: Data, Loc so 1, Loc so 2

Em đang muốn lấy dữ liệu giống như ở sheet Loc so 1, Loc so 2 được lọc ra từ sheet Data nhưng không biết làm cách nào?

Các bác giúp em với nhé.
Cảm ơn các bác đã đọc và em cảm ơn gấp đôi đối với các bác phản hồi và cho em giải pháp.
Giải pháp là dùng thử Sub này, làm thế nào để kích nó chạy thì tuỳ.
PHP:
Public Sub GPE()
Dim Ws As Worksheet, Rng(), Arr(), DK As Long, I As Long, J As Long, K As Long, C As Long, N As Long
With Sheets("Data")
    Rng = .Range(.[B3], .[B1000].End(xlUp)).Resize(, .[AA3].End(xlToLeft).Column).Value
End With
ReDim Arr(1 To UBound(Rng, 1), 1 To UBound(Rng, 2))
For Each Ws In ThisWorkbook.Worksheets
    K = 0
    If Ws.Name <> "Data" Then
        DK = Right(Ws.Name, 1) * 1
        For I = 2 To UBound(Rng, 1)
            K = K + 1: C = 1: N = 0
            Arr(K, 1) = Rng(I, 1)
            For J = 1 To UBound(Rng, 2)
                If Rng(1, J) = DK Then
                    C = C + 1
                    Arr(K, C) = Rng(I, J)
                    If UCase(Rng(I, J)) = "X" Then N = N + 1
                End If
            Next J
                If N = 0 Then K = K - 1
        Next I
        Ws.[B4].Resize(K, C).Value = Arr
    End If
Next
End Sub
 
Upvote 0
Giải pháp là dùng thử Sub này, làm thế nào để kích nó chạy thì tuỳ.
PHP:
Public Sub GPE()
Dim Ws As Worksheet, Rng(), Arr(), DK As Long, I As Long, J As Long, K As Long, C As Long, N As Long
With Sheets("Data")
    Rng = .Range(.[B3], .[B1000].End(xlUp)).Resize(, .[AA3].End(xlToLeft).Column).Value
End With
ReDim Arr(1 To UBound(Rng, 1), 1 To UBound(Rng, 2))
For Each Ws In ThisWorkbook.Worksheets
    K = 0
    If Ws.Name <> "Data" Then
        DK = Right(Ws.Name, 1) * 1
        For I = 2 To UBound(Rng, 1)
            K = K + 1: C = 1: N = 0
            Arr(K, 1) = Rng(I, 1)
            For J = 1 To UBound(Rng, 2)
                If Rng(1, J) = DK Then
                    C = C + 1
                    Arr(K, C) = Rng(I, J)
                    If UCase(Rng(I, J)) = "X" Then N = N + 1
                End If
            Next J
                If N = 0 Then K = K - 1
        Next I
        Ws.[B4].Resize(K, C).Value = Arr
    End If
Next
End Sub

em cảm ơn bác. Nhưng bác thương thì thương cho chót. Em ước em thực hiện được bước "tùy" nhưng em không biết làm thế nào :(

Bác Ba Tê cho nó chạy hộ em với nhé. Em cảm ơn bác nhiều.
 
Upvote 0
Bác Ba Tê à, em cho chạy được rồi. Cảm ơn bác nhiều.

Nhưng em phiền bác chỉnh sửa hỗ trợ thêm cho em để làm sao:

từ sheet Data--> tạo 1 ô để ở đó em có thể chọn các số 1,2,3...,6
- nếu em chọn số 1 thì nó sẽ lọc ra dữ liệu như sheet Loc so 1
- nếu em chọn số 2 thì nó sẽ lọc ra dữ liệu như sheet Loc so 2
(định dạng bảng tính không thay đổi mà chỉ là co hẹp lại những thông tin cần thiết liên quan - giống như định dạng ở sheet Loc so 1, Loc so 2)

Một lần nữa, em cảm ơn các bác đã đọc và giúp đỡ em.
 
Upvote 0
Bác Ba Tê à, em cho chạy được rồi. Cảm ơn bác nhiều.

Nhưng em phiền bác chỉnh sửa hỗ trợ thêm cho em để làm sao:

từ sheet Data--> tạo 1 ô để ở đó em có thể chọn các số 1,2,3...,6
- nếu em chọn số 1 thì nó sẽ lọc ra dữ liệu như sheet Loc so 1
- nếu em chọn số 2 thì nó sẽ lọc ra dữ liệu như sheet Loc so 2
(định dạng bảng tính không thay đổi mà chỉ là co hẹp lại những thông tin cần thiết liên quan - giống như định dạng ở sheet Loc so 1, Loc so 2)

Một lần nữa, em cảm ơn các bác đã đọc và giúp đỡ em.
Úi Chời!
Yêu cầu 1 đàng, ý muốn 1 nẽo.
Post bài trong mục Lập trình với Excel mà lại... "Nhưng bác thương thì thương cho chót. Em ước em thực hiện được bước "tùy" nhưng em không biết làm thế nào :(".
Có cây cầu qua sông rồi, lắp thêm ván lót hay "lang can" thôi mà.
 
Upvote 0
Cho em hỏi một chút ạ, nếu giả sử lọc theo hàng ngang liệu có dùng công thức được không ạ? hay chỉ dùng được vba.
 
Upvote 0
Úi Chời!
Yêu cầu 1 đàng, ý muốn 1 nẽo.
Post bài trong mục Lập trình với Excel mà lại... "Nhưng bác thương thì thương cho chót. Em ước em thực hiện được bước "tùy" nhưng em không biết làm thế nào :(".
Có cây cầu qua sông rồi, lắp thêm ván lót hay "lang can" thôi mà.

Em xin lỗi bác đã diễn đạt không rõ.
Bác giúp em với nhé.
Em cảm ơn bác rất nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom