Loc dữ liệu (2 người xem)

Liên hệ QC

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

letuongqt

Thành viên hoạt động
Tham gia
26/3/08
Bài viết
141
Được thích
24
Xin nhờ anh em trên diễn đàn giúp đỡ vấn đề sau : Tôi có 1 danh sách được lập trong 1 sheet khoảng trên 1000 dòng dữ liệu . ở 1 cell tuỳ ý tôi muốn tạo một list để khi list vào đúng mã thì chỉ những dòng thuộc mã này hiện lên màn hình để nhập dữ liệu vào các cột có liên quan mà thôi ( Các dòng thuộc mã khác thì phải ẩn đi ) - Giống như khi sử dụng auto file . Tôi không muốn sử dụng chức năng auto file ,bởi vì trong auto file khi nhắp "All" thì sẽ hiện lên toàn bộ danh sách . Khi muốn show all toàn bộ danh sách thì chỉ có người quản lý danh sách mới có thể được quyền này bằng cách gì gì đó ,... Rất mong được anh em chỉ dùm , rất cảm ơn . Xin đính kèm file
 

File đính kèm

Xin nhờ anh em trên diễn đàn giúp đỡ vấn đề sau : Tôi có 1 danh sách được lập trong 1 sheet khoảng trên 1000 dòng dữ liệu . ở 1 cell tuỳ ý tôi muốn tạo một list để khi list vào đúng mã thì chỉ những dòng thuộc mã này hiện lên màn hình để nhập dữ liệu vào các cột có liên quan mà thôi ( Các dòng thuộc mã khác thì phải ẩn đi ) - Giống như khi sử dụng auto file . Tôi không muốn sử dụng chức năng auto file ,bởi vì trong auto file khi nhắp "All" thì sẽ hiện lên toàn bộ danh sách . Khi muốn show all toàn bộ danh sách thì chỉ có người quản lý danh sách mới có thể được quyền này bằng cách gì gì đó ,... Rất mong được anh em chỉ dùm , rất cảm ơn . Xin đính kèm file
Dùng Advance Filter. Không biết file đúng ý bạn chưa, mình làm thử
 

File đính kèm

Tại sao địa chỉ vùng lọc coppy sang sheet khác thì báo lỗi .mặt khác , sau khi lọc , dữ liệu phải nằm trọn trong bảng , chứ không thừa các dòng kẻ của bảng (không thẩm mỹ) Nhờ bạn chỉ thêm .
 
Lọc dử liệu dùng vba

Bạn xem thử file có được không , vùng điều kiện bạn phải để chổ khác vùng dử liệu
 

File đính kèm

Lần chỉnh sửa cuối:
Tại sao địa chỉ vùng lọc coppy sang sheet khác thì báo lỗi .mặt khác , sau khi lọc , dữ liệu phải nằm trọn trong bảng , chứ không thừa các dòng kẻ của bảng (không thẩm mỹ) Nhờ bạn chỉ thêm .
copy sang sheet khác bình thường mà bạn, có thấy lỗi gì đâu!!
 
Rất cảm ơn bạn , gần đúng ý rồi , nhưng làm sao để mọi người (trừ người quản lý danh sách này ) vào file--> show all (hoặc auto file ) thì không hiện lên được toàn bộ danh sách . Xin bạn vui lòng giúp thêm cho 1 phương án để hoàn chỉnh .
 
Tại sao địa chỉ vùng lọc coppy sang sheet khác thì báo lỗi .mặt khác , sau khi lọc , dữ liệu phải nằm trọn trong bảng , chứ không thừa các dòng kẻ của bảng (không thẩm mỹ) Nhờ bạn chỉ thêm .

Thế này có đúng ý bạn không?
 

File đính kèm

Xin cảm ơn rất nhiều , thật là đúng ý .Tuy nhiên còn một vấn đề nhỏ nữa là , không biết tại sao khi nhập liệu vào vùng đã lọc thì mỗi lần di chuyển sang ô khác để nhập tiếp thì vị trí trỏ chuột lại nhảy vào khung list (chứa điều kiện lọc) , khi nhập dữ liệu xong save lại thì đến lúc mở ra thì dữ liệu vừa nhập bị mất - như lúc chưa nhập liệu .Một lần nữa xin nhờ bạn . Nếu được , bạn có thể chỉ giáo cách làm để học hỏi cho bản thân .
 
Lần chỉnh sửa cuối:
Nhấn Alt + F11 sẽ thấy đoạn code này ở sheet2

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
' Lấy toàn bộ bảng dữ liệu ở sheet1 đặt tên là Rng giống như ta đặt name trong Insert\name\Define...
Set Rng = Sheet1.[a1].CurrentRegion
' Hàm IF chắc các bạn đã biết: khi A2 thay đổi thì mới lọc
If Target.Address = "$A$2" Then
' Xoá hết dữ liệu cũ trước khi lọc
    [a4].CurrentRegion.Clear
' Lọc bằng AdvancedFilter, các bạn có thể record để xem cấu trúc
    Rng.AdvancedFilter 2, Range("a1:a2"), [a4]
End If
' Chọn vùng đã lọc xong, lấy từ cột thứ 2, tự động căn chỉnh độ rộng cột
[a4].CurrentRegion.Offset(, 2).Columns.AutoFit
[a2].Select
End Sub

Hy vọng các bạn hiểu và vận dụng được trong tình huống cụ thể trong công việc của mình
 
Nhấn Alt + F11 sẽ thấy đoạn code này ở sheet2

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
' Lấy toàn bộ bảng dữ liệu ở sheet1 đặt tên là Rng giống như ta đặt name trong Insert\name\Define...
Set Rng = Sheet1.[a1].CurrentRegion
' Hàm IF chắc các bạn đã biết: khi A2 thay đổi thì mới lọc
If Target.Address = "$A$2" Then
' Xoá hết dữ liệu cũ trước khi lọc
    [a4].CurrentRegion.Clear
' Lọc bằng AdvancedFilter, các bạn có thể record để xem cấu trúc
    Rng.AdvancedFilter 2, Range("a1:a2"), [a4]
End If
' Chọn vùng đã lọc xong, lấy từ cột thứ 2, tự động căn chỉnh độ rộng cột
[a4].CurrentRegion.Offset(, 2).Columns.AutoFit
[a2].Select
End Sub
Hy vọng các bạn hiểu và vận dụng được trong tình huống cụ thể trong công việc của mình
Tại sao lại có dòng [a4].CurrentRegion.Clear , trong khi đó cái mình cần là mỗi khi lọc dữ liệu là để nhập thêm dữ liệu vào , và dữ liệu này phải lưu được , khi cần thì có thể nhập bổ sung thêm . Xin bạn giúp thêm cái này .
 
Tại sao lại có dòng [a4].CurrentRegion.Clear , trong khi đó cái mình cần là mỗi khi lọc dữ liệu là để nhập thêm dữ liệu vào , và dữ liệu này phải lưu được , khi cần thì có thể nhập bổ sung thêm . Xin bạn giúp thêm cái này .

Híc, khi nhập thì nhập dữ liệu ở sheet1. [a4].CurrentRegion.Clear là xóa hết dữ liệu cũ trước khi lọc mới,

bạn thử hình dung lọc theo a có 30 dòng, lọc theo b có 20 dòng vậy 10 dòng cuối là thỏa mãn điều kiện lọc a vẫn còn <=> khi đó bạn lại bảo rằng lọc theo điều kiện b không đúng ...

Yên tâm rằng khi nhập dữ liệu ở sheet1, những dữ liệu thỏa mãn điều kiện lọc thì mới lấy sang sheet2, không ảnh hưởng gì đến phần đã nhập ở sheet1
 
Giải thích lỗi

Xin cảm ơn rất nhiều , thật là đúng ý .Tuy nhiên còn một vấn đề nhỏ nữa là , không biết tại sao khi nhập liệu vào vùng đã lọc thì mỗi lần di chuyển sang ô khác để nhập tiếp thì vị trí trỏ chuột lại nhảy vào khung list (chứa điều kiện lọc) , khi nhập dữ liệu xong save lại thì đến lúc mở ra thì dữ liệu vừa nhập bị mất - như lúc chưa nhập liệu .Một lần nữa xin nhờ bạn . Nếu được , bạn có thể chỉ giáo cách làm để học hỏi cho bản thân .

1. Do câu lệnh trong VBA
đã điều khiển con trỏ nhảy đến ô A2. Đưa 2 dòng mã cuối vào luôn trong khối If ... End If
2. Dữ liệu lọc được ở sheet2 là dữ liệu vừa tĩnh vừa động. Tĩnh vì nó không liên kết đến sheet1, động vì khi thay đổi giá trị lọc thì nó sẽ bị xóa. Nói tóm lại, dữ liệu ở sheet2 chỉ dùng để lập báo cáo, in ấn... tức thời, không thể dùng lâu dài được.
-hvl
 
Híc, khi nhập thì nhập dữ liệu ở sheet1. [a4].CurrentRegion.Clear là xóa hết dữ liệu cũ trước khi lọc mới,

bạn thử hình dung lọc theo a có 30 dòng, lọc theo b có 20 dòng vậy 10 dòng cuối là thỏa mãn điều kiện lọc a vẫn còn <=> khi đó bạn lại bảo rằng lọc theo điều kiện b không đúng ...

Yên tâm rằng khi nhập dữ liệu ở sheet1, những dữ liệu thỏa mãn điều kiện lọc thì mới lấy sang sheet2, không ảnh hưởng gì đến phần đã nhập ở sheet1
Anh Boyxin ơi , mục đích của tôi là nhập dữ liệu trực tiếp vào vùng đã lọc (nằm ở sheet2 , còn sheet1 tôi sẽ dấu đi ) và lưu lại . Vậy có thể giải quyết vấn đề này ra sao , nhờ anh giúp tiếp . Xin cảm ơn .
 
Anh Boyxin ơi , mục đích của tôi là nhập dữ liệu trực tiếp vào vùng đã lọc (nằm ở sheet2 , còn sheet1 tôi sẽ dấu đi ) và lưu lại . Vậy có thể giải quyết vấn đề này ra sao , nhờ anh giúp tiếp . Xin cảm ơn .

hic (không có điều gì là không thể)

Nhưng: ý bạn như vậy thật là trái ngược
vậy bạn cần lọc để làm gì. Nếu muốn lọc rồi lại nhập vào tiếp thì những lần lọc trước sẽ tính sao? dữ liệu bạn muốn dấu đi (dấu sao nổi - khi người ta chọn list để lọc thì sẽ thấy hết)

Có thể dùng giải pháp: bạn lọc xong rồi copy sang sheet mới để người khác nhập tiếp. sheet lọc này phải giấu đi thì mới có thể gây khó khăn chút ít cho người khác khi muốn biết hết dữ liệu trong sheet1
 
Các bác ơi em muốn lọc ẩn các cột trống thì làm thế nào bây giờ? Em dùng Auto filter chỉ lọc ẩn được các hàng trống thôi, còn cột thì vẫn NÔNG DÂN lọc bằng tay thủ công!!!!!!! Các bác cao thủ có mẹo gì chỉ giáo cho em nhé, cám ơn nhiều nhiều!
 
Các bác ơi em muốn lọc ẩn các cột trống thì làm thế nào bây giờ? Em dùng Auto filter chỉ lọc ẩn được các hàng trống thôi, còn cột thì vẫn NÔNG DÂN lọc bằng tay thủ công!!!!!!! Các bác cao thủ có mẹo gì chỉ giáo cho em nhé, cám ơn nhiều nhiều!

Bạn đính kèm file lên rồi nói rõ: không thích nhìn thấy cột nào
 
Lọc ẩn cột trống

Trích:
Nguyên văn bởi candle227
Các bác ơi em muốn lọc ẩn các cột trống thì làm thế nào bây giờ? Em dùng Auto filter chỉ lọc ẩn được các hàng trống thôi, còn cột thì vẫn NÔNG DÂN lọc bằng tay thủ công!!!!!!! Các bác cao thủ có mẹo gì chỉ giáo cho em nhé, cám ơn nhiều nhiều!

Bạn đính kèm file lên rồi nói rõ: không thích nhìn thấy cột nào

Đây cái file của em nó thế này, các cao thủ mách nước cho em nhé. Em cám ơn!
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom