Lọc danh sách để nhập liệu

Liên hệ QC

SULUACHONSAILAM

Thành viên mới
Tham gia
24/11/09
Bài viết
25
Được thích
1
Chào các anh chị!
Em có một bảng tính và hàng ngày em phải nhập liệu vào đó,trong bảng tính có tất cả 5 loại mã bao
Anh chị có thể hướng dẫn cho em làm cách nào để cài công thức lọc từng bàng tính .ví dụ khi em muốn nhập số liệu của Higro thì chỉ xuất hiện bảng tính Higro còn các bảng tính khác được ẩn đi.
Em có tham khảo qua một số tài liệu của diễn đàn nhưng vẫn chưa thể làm được, mong các anh chị trợ giúp cho em.
Em chân thành cám ơn.
 

File đính kèm

Phương án đề xuất, nếu bạn OK chúng ta sẽ thực hiện

Mỗi loại hàng cho chiếm tròn một số lượng lớn các dòng như nhau, Ví dụ mỗi loại đều 100 dòng;

Mình sẽ giúp bạn khi chọn mặt hàng nào đó thì chỉ có các hàng có dữ liệu của các dòng thuộc nó & thêm vài dòng trống , cùng với các dòng tổng của mặt hàng đó hiện lên thôi; Các mặt hàng khác thì biến!

Nếu bạn ừ thì cho biết mỗi mặt hàng nên dành tối đa bao nhiêu dòng?

Chờ tin bạn!
 
Trước hết mình muốn cám ơn bạn.
Nhưng bạn ơi trong file mình gửi mỗi loại đã có số dòng cố định của nó, nếu vẫn giữ nguyên mà không lọc được, thì bạn lấy số dòng lớn nhất là Higro làm chuẩn cho các loại sau nhé
 
Chào các anh chị!
Em có một bảng tính và hàng ngày em phải nhập liệu vào đó,trong bảng tính có tất cả 5 loại mã bao
Anh chị có thể hướng dẫn cho em làm cách nào để cài công thức lọc từng bàng tính .ví dụ khi em muốn nhập số liệu của Higro thì chỉ xuất hiện bảng tính Higro còn các bảng tính khác được ẩn đi.
Em có tham khảo qua một số tài liệu của diễn đàn nhưng vẫn chưa thể làm được, mong các anh chị trợ giúp cho em.
Em chân thành cám ơn.
Dùng thử file này xem sao. Chọn loại mã bao ở A2.

Đây là code:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveWindow.FreezePanes = False
Dim Rng As Range
If Not Intersect(Target, [A2]) Is Nothing Then
    Cells.EntireRow.Hidden = False
    Set Rng = [A3:C150].Find(What:=[A2].Value, LookIn:=xlValues, LookAt:=xlWhole)
    If Not Rng Is Nothing Then
        Range([A3], Rng.Offset(-1)).EntireRow.Hidden = True
    End If
    Cells(Rng.Row + 2, 5).Select
    ActiveWindow.FreezePanes = True
    Set Rng = [A3:C150].Find(What:="TOTAL(" & [A2].Value & ")", LookIn:=xlValues, LookAt:=xlWhole)
    If Not Rng Is Nothing Then
        Range(Rng.Offset(1), [A151]).EntireRow.Hidden = True
    End If
End If
Application.ScreenUpdating = True
End Sub
Còn đây là file
 

File đính kèm

Anh ơi! trong file anh gửi cho em đã cài phần lọc mã nhưng khi chọn mã ở ô A2 bảng tính vẫn không thay đổi theo mã.
ecxel em kém quá không biết code anh gửi lên sử dụng như thế nào
Anh có thể hướng dẫn em được không ạh?
 
Bạn xem thêm trong file đính kèm

& điều khiển sự lựa chọn tại [AQ2]
PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [AQ2]) Is Nothing Then    '<=|'
   Dim Hien As Range, An1 As Range, An2 As Range
   Dim SoDg1 As Long, SoDg As Long
   
   Cells.EntireRow.Hidden = False:           SoDg = [A65500].End(xlUp).Row + 9
   Select Case Left(Target.Value, 1)
   Case "H"
      SoDg1 = SoDg
      Set An1 = Cells(SoDg, "A")
      Set An2 = [A62].Resize(SoDg1)
   Case "C"
      SoDg1 = 60:                            Set An1 = [A3].Resize(SoDg1)
      SoDg1 = SoDg - 80:                     Set An2 = [A82].Resize(SoDg1)
   Case "S"
      SoDg1 = 80:                            Set An1 = [A3].Resize(SoDg1)
      SoDg1 = SoDg - 100:                    Set An2 = [A100].Resize(SoDg1)
   Case "N"
      SoDg1 = 98:                            Set An1 = [A3].Resize(SoDg1)
      SoDg1 = SoDg - 123:                    Set An2 = [A123].Resize(SoDg1)
   Case "B"
      SoDg1 = 121:                           Set An1 = [A3].Resize(SoDg1)
      SoDg1 = 8:                             Set An2 = [A151].Resize(SoDg1)
   Case Else
      Set An1 = Cells(SoDg, "A"):            Set An2 = An1.Offset(1)
   End Select
   
   Union(An1, An2).EntireRow.Hidden = True
   
 End If
End Sub
 

File đính kèm

cám ơn anh dữ liệu đã lọc được rối, nhưng anh có thể hướng dẫn em cách để tạo chế độ lọc đó được không, anh gửi bảng code mà em không hiểu nó là gì?
Anh không thấy phiền khi em hỏi những câu như thế chứ?
 
cám ơn anh dữ liệu đã lọc được rối, nhưng anh có thể hướng dẫn em cách để tạo chế độ lọc đó được không, anh gửi bảng code mà em không hiểu nó là gì? Anh không thấy phiền khi em hỏi những câu như thế chứ?
Bạn hỏi NICK nào trong chúng tôi vậy? Hai đứa tôi đều có file đưa lên, cũng như mỗi đứa đều có 1 macro (?)

Để cho bạn dễ tự chỉnh sửa sau này, một khi dữ liệu có thay đổi do bất khả kháng, mình đã ứng dụng hàm SWITCH() trong VBA cho bạn dễ hiểu đây (Hàm dễ cho người dùng, nhưng ngược lại với người viết nó):

Hơn nữa mình đã đánh số dòng lệnh, ngừa khi bạn yêu cầu diễn dịch các dòng lệnh.

Bây giờ bạn làm thế này:

Copy toàn bô macro này vô bộ nhớ trung gian của máy;
Phải chuột lên thanh SheetName & chọn dòng cuối ( View Cole. . )
Chép đè lên toàn bộ những gì hiện đang có trong CS VBE mà bạn thấy;
(Giờ bạn đã thấy macro nó nằm ở đâu luôn rồi nha!)

Chúc thành công!


PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
1 If Not Intersect(Target, [AQ2]) Is Nothing Then
   Dim Hien As Range:            Dim TV As String
   Dim SoDg0 As Long, SoDg As Long
4   
   Cells.EntireRow.Hidden = False:              TV = Left([AQ2].Value, 1)
6   SoDg = [A65500].End(xlUp).Row + 9
   [A3].Resize(SoDg).EntireRow.Hidden = True
8   Set Hien = Switch(TV = "A", [A3], TV = "H", [A3], TV = "C", [A62], _
      TV = "S", [A82], TV = "N", [A100], TV = "B", [A123])
9   SoDg0 = Switch(TV = "A", SoDg, TV = "H", 59, TV = "C", 20, TV = "S", 17 _
      , TV = "N", 23, TV = "B", 29)
      
10   Hien.Resize(SoDg0).EntireRow.Hidden = False
 End If
End Sub
 
Anh ơi! trong file anh gửi cho em đã cài phần lọc mã nhưng khi chọn mã ở ô A2 bảng tính vẫn không thay đổi theo mã.
ecxel em kém quá không biết code anh gửi lên sử dụng như thế nào
Anh có thể hướng dẫn em được không ạh?
Trước khi mở file phải cài đặt chế độ Security Macro về mức Low thì mới dùng Macro được.
 
Em đọc bài này thấy cả 2 sư phụ đều làm hay quá. Em muốn biết làm sao mình có thể biết cách tạo PHP CODE như 2 sư phụ làm được vậy. Tại em cũng có bản danh sách công nợ khách hàng chia ra nhiều khu vực, mỗi khu vực là một sheet,mỗi ngày là 1 khu vực, mỗi lần tìm vất vả quá.em muốn làm như thế xin chỉ dùm e được không ( à thêm nữa là mỗi khu vực thì có người nợ tiền, người không.như thế mỗi lần làm e phải hide nhưng dòng khách hàng không nợ tiền nữa, mất thời gian e nhiều lắm a, vì mỗi khu vực cả trăm khách hàng) anh chị nào chỉ dùm em với. Cảm ơn anh chị nhiều
 
Em đọc bài này thấy cả 2 sư phụ đều làm hay quá. Em muốn biết làm sao mình có thể biết cách tạo PHP CODE như 2 sư phụ làm được vậy. Tại em cũng có bản danh sách công nợ khách hàng chia ra nhiều khu vực, mỗi khu vực là một sheet,mỗi ngày là 1 khu vực, mỗi lần tìm vất vả quá.em muốn làm như thế xin chỉ dùm e được không ( à thêm nữa là mỗi khu vực thì có người nợ tiền, người không.như thế mỗi lần làm e phải hide những dòng khách hàng không nợ tiền nữa để in ra cho anh chị khách đi thu tiền, mất thời gian e nhiều lắm a, vì mỗi khu vực cả trăm khách hàng) anh chị nào chỉ dùm em với. Cảm ơn anh chị nhiều
 
Tại em cũng có bản danh sách công nợ khách hàng chia ra nhiều khu vực, mỗi khu vực là một sheet,mỗi ngày là 1 khu vực, mỗi lần tìm vất vả quá.em muốn làm như thế xin chỉ dùm e được không ( à thêm nữa là mỗi khu vực thì có người nợ tiền, người không.như thế mỗi lần làm e phải hide nhưng dòng khách hàng không nợ tiền nữa, mất thời gian e nhiều lắm a, vì mỗi khu vực cả trăm khách hàng) anh chị nào chỉ dùm em với. Cảm ơn anh chị nhiều

Muốn xài được ngay từ sự giúp đỡ của mọi người thì bạn nên đưa file của bạn lên. (Nội dung có thể đổi khác, nhưng cấu trúc i như vậy).

Chờ tin bạn
Các thẻ [Code ]. . .[/Code], [PHP ]. . . [/PHP], . . . . có trên diễn đàn; Bạn hãy chịu kho mầy mò vậy nha!
 
View attachment 39248mình gửi kèm file mấy anh chị xem dùm em.mỗi lần làm công nợ là e phải hide các dòng khách hàng không nợ tiền

Sao bạn làm bảng theo dõi mà khổ thế, không cần phải chia từng khoảng/dòng như vậy đâu
- Nếu đơn giản bạn cứ để nó thành một bảng liên tục, thêm một cột "tên mặt hàng". Muốn ẩn những dòng khách hàng không nợ tiền thì dùng Auto Filter là được (SHEET: CU TRU)
- Nếu đẹp hơn thì bạn dùng Pivot, trên diễn đàn nói nhiều, bạn thử tìm hiểu và bố trí bảng tính xem? (SHEET: BANG THEO DOI)
 

File đính kèm

hic cám ơn bạn nhưng các mặt hàng sắp xếp không theo thứ tự mà lộn xộn hết.giờ chẳng biết sao giờ anh chị nào nghĩ thêm dùm em với
 
hic cám ơn bạn nhưng các mặt hàng sắp xếp không theo thứ tự mà lộn xộn hết.giờ chẳng biết sao giờ anh chị nào nghĩ thêm dùm em với

Bây giờ bạn muốn như thế nào nữa cho hết lộn xộn, bạn chỉ có 3 mặt hàng thôi mà?
Cứ click vào mũi tên mà chọn thôi...
 
bạn muốn sắp xếp hả bôi đen vùng bạn muốn sắp xếp rồi chon biểu tượng Sort.Nêus bạn muốn SX nhiều điều kiện thi vô Data /Sort.
 
Web KT

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

Back
Top Bottom