Cần giúp về lọc dữ liệu theo chiều ngang (theo hàng) (2 người xem)

Liên hệ QC

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

concuu90

Thành viên mới
Tham gia
1/10/11
Bài viết
7
Được thích
1
Mình có 1 bảng tính chấm công tổng hợp ( file đính kèm )

Yêu cầu:
Trong bảng chấm công có nhiều tuần ( tuần 1, tuần 2, ....) mình muốn lọc ra xem từng tuần hoặc xem nhiều tuần cùng lúc ( xem theo ngày càng tốt ). Ví dụ xem tuần 1 ( hoặc 2 tuần trở lên) thì các tuần còn lại mất đi. Mình có dùng autofilter nhưng chỉ lọc được theo chiều dọc.
Không biết có cách nào không cần dùng VBA mà làm được theo yêu cầu trên không? Nếu cách thông thường không được các bạn giúp mình làm VBA dùm nha.
Cám ơn các bạn nhiều.
 

File đính kèm

Mình có 1 bảng tính chấm công tổng hợp ( file đính kèm )

Yêu cầu:
Trong bảng chấm công có nhiều tuần ( tuần 1, tuần 2, ....) mình muốn lọc ra xem từng tuần hoặc xem nhiều tuần cùng lúc ( xem theo ngày càng tốt ). Ví dụ xem tuần 1 ( hoặc 2 tuần trở lên) thì các tuần còn lại mất đi. Mình có dùng autofilter nhưng chỉ lọc được theo chiều dọc.
Không biết có cách nào không cần dùng VBA mà làm được theo yêu cầu trên không? Nếu cách thông thường không được các bạn giúp mình làm VBA dùm nha.
Cám ơn các bạn nhiều.
Thử thay đổi các ô từ ngày, đến ngày để macro chạy.
Mấy cái trang trí không liên quan tôi đã xóa, bạn cần thì cứ làm
 

File đính kèm

Trước tiên mình cám ơn bạn.
Nhưng mà bạn có thể giúp mình chèn thêm dòng và cột mà vẫn chạy tốt như file trên không. Ý mình là bảng tính này mình thường xuyên chèn dòng và cột với số lượng rất nhiều. Và mình vừa thử chèn 1 cột thì macro chạy không theo yêu cầu.
 
Lần chỉnh sửa cuối:
Trước tiên mình cám ơn bạn.
Nhưng mà bạn có thể giúp thêm mình việc chèn thêm dòng và hàng mà vẫn chạy tốt như file trên không. Mình vừa chèn côt AA trong file bạn gửi thì không chạy đúng theo yêu cầu nữa.
Chèn thêm "dòng" hoặc "hàng" có gì khác nhau không vậy trời.
 
Nhưng mà bạn có thể giúp mình chèn thêm dòng và cột mà vẫn chạy tốt như file trên không. Ý mình là bảng tính này mình thường xuyên chèn dòng và cột với số lượng rất nhiều. Và mình vừa thử chèn 1 cột thì macro chạy không theo yêu cầu.

Tại bạn thôi; Đưa file lên chả ra đâu vào đâu thì nhận được vậy là quá tốt rồi!
Lý ra bạn cần thiết kế file hoàn chỉnh tháng nào đó & đưa lên; đàng này bạn làm có hơn nữa tháng, còn thêm chuyện dấu bén 1 cột đi

Mình định thiết kế lại cho bạn hoàn chỉnh, nhưng chưa có thời gian & hứng thú;
Chờ vậy nha!
 
Cám ơn bạn đã góp ý.

Mình cũng giải thích với bạn như sau:

Bảng tính của mình không có cố định một tháng hay một thời gian cụ thể mà biến động theo công trình xây dựng. Ví dụ trong bảng tính gửi lên là 3 tuần nhưng sau này có thể là 10 tuần hoặc giảm còn 2 tuần, tương tự với số lượng nhân viên.
Cho nên mình cần chèn dòng và cột thì macro sẽ biến đổi theo ( Chẵng lẽ mỗi lần làm bảng tính hoàn chỉnh khác rồi gởi lên đây). Mình biết là các bạn có cách mong các bạn giúp đỡ

Còn việc dấu cột thì không biết mình dấu cột nào, nếu có thì chắc do sơ sót chứ mình dấu để làm gì.

Hi vọng các bạn giúp đỡ.
 
Nhầm lẫn thôi bạn mình đã chỉnh lại rồi.
 
Trước tiên mình cám ơn bạn.
Nhưng mà bạn có thể giúp mình chèn thêm dòng và cột mà vẫn chạy tốt như file trên không. Ý mình là bảng tính này mình thường xuyên chèn dòng và cột với số lượng rất nhiều. Và mình vừa thử chèn 1 cột thì macro chạy không theo yêu cầu.
Mượn code của anh BaTe và thêm tí gia vị để đúng theo yêu cầu của bạn đây
 

File đính kèm

Cám ơn bạn đã góp ý.

Mình cũng giải thích với bạn như sau:

Bảng tính của mình không có cố định một tháng hay một thời gian cụ thể mà biến động theo công trình xây dựng. Ví dụ trong bảng tính gửi lên là 3 tuần nhưng sau này có thể là 10 tuần hoặc giảm còn 2 tuần, tương tự với số lượng nhân viên.
Cho nên mình cần chèn dòng và cột thì macro sẽ biến đổi theo ( Chẵng lẽ mỗi lần làm bảng tính hoàn chỉnh khác rồi gởi lên đây). Mình biết là các bạn có cách mong các bạn giúp đỡ

Còn việc dấu cột thì không biết mình dấu cột nào, nếu có thì chắc do sơ sót chứ mình dấu để làm gì.

Hi vọng các bạn giúp đỡ.
Lỡ lên lưng ... rồi. Bạn thử xem tiếp file này coi sao.
---------
Úi da! Quang Hải nhanh quá ta!
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn tất cả các bạn đã giúp đỡ mình. Đặc biệt là bác Ba Tê

Các file các bác gửi rất hay, đã giúp mình cải thiện thời gian làm việc mấy hôm nay.

Lúc đầu mình cứ nghĩ có Macro để chạy các yêu cầu của mình, còn việc trình bày đúng biểu mẫu theo quy định thì mình chỉ cần mình nhập vào.

Nhưng khi có sự chỉnh sữa biểu mẫu.... sẽ làm macro thay đổi và thật sự mình không biết chỉnh lại sao cho đúng, nó quá khó với mình ngay bây giờ. Nên hôm nay mong các bác giúp mình 1 lần nữa, là chỉnh sửa lại macro đúng với biểu mẫu mình cần ( có 1 số dòng trống, mình chỉ trừ hao lỡ sao này có phát sinh thêm ).

Mong các bác giúp đỡ. Cám ơn
 

File đính kèm

Cám ơn tất cả các bạn đã giúp đỡ mình. Đặc biệt là bác Ba Tê

Các file các bác gửi rất hay, đã giúp mình cải thiện thời gian làm việc mấy hôm nay.

Lúc đầu mình cứ nghĩ có Macro để chạy các yêu cầu của mình, còn việc trình bày đúng biểu mẫu theo quy định thì mình chỉ cần mình nhập vào.

Nhưng khi có sự chỉnh sữa biểu mẫu.... sẽ làm macro thay đổi và thật sự mình không biết chỉnh lại sao cho đúng, nó quá khó với mình ngay bây giờ. Nên hôm nay mong các bác giúp mình 1 lần nữa, là chỉnh sửa lại macro đúng với biểu mẫu mình cần ( có 1 số dòng trống, mình chỉ trừ hao lỡ sao này có phát sinh thêm ).

Mong các bác giúp đỡ. Cám ơn
Chỉnh lại theo file bạn

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Rng As Range, Cll As Range, Col As Long
If Target.Address = "$B$15" Or Target.Address = "$C$15" Then
    Cells.EntireColumn.Hidden = False
    Col = [I19].End(xlToRight).Column - 8
    Set Rng = Range("I18").Resize(, Col)
    For Each Cll In Rng
        If Cll.Value < Range("B15").Value Or Cll.Value > Range("C15").Value Then
            Cll.EntireColumn.Hidden = True
        End If
    Next Cll
End If
Application.ScreenUpdating = True
End Sub
 
Chỉnh lại theo file bạn

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Rng As Range, Cll As Range, Col As Long
If Target.Address = "$B$15" Or Target.Address = "$C$15" Then
    Cells.EntireColumn.Hidden = False
    Col = [I19].End(xlToRight).Column [COLOR=#ff0000]- 8[/COLOR]
    Set Rng = Range("I18").Resize(, Col)
    For Each Cll In Rng
        If Cll.Value < Range("B15").Value Or Cll.Value > Range("C15").Value Then
            Cll.EntireColumn.Hidden = True
        End If
    Next Cll
End If
Application.ScreenUpdating = True
End Sub

Cái chổ đỏ đỏ mình nghi ngờ quá
 
Hi các bác, trong quá trình làm việc em cũng gặp trường hợp tương tự như chủ threat. Nhưng vấn đề của em là tạo 1 box để lọc các danh mục-bảng sẽ tự co lại cho đúng yêu cầu. Vì trình code có hạn nên ko thể áp dụng code của mọi ng vào đc. Mong đc chỉ giáo.
 

File đính kèm

Web KT

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

Back
Top Bottom