Lọc dữ liệu bằng VBA

Liên hệ QC

TUTTIT

Thành viên mới
Tham gia
11/10/13
Bài viết
22
Được thích
1
Xin chào các anh chị trong GPE, hôm trước em có gửi một file lên diễn đàn nhờ mọi người giúp lọc dữ liệu và được giúp tạo một file lọc bằng VBA. Em sử dụng thấy thích quá nên tò mò tìm hiểu VBA và cũng muốn học thêm nay có 1 file cũng là công việc của em hay làm xin nhờ mọi người tạo code giúp để lọc bằng VBA. Vì khá dài dòng nên những yêu cầu em đều ghi trong sheet "Bao Cao" của file đính kèm. Nếu được thì mọi người cho em xin code mẫu và tài liệu học VBA với. Xin cám ơn mọi người.
P/s: Em quên mất là em cần tạo 1 nút bấm để lọc dữ liệu theo Tháng. Nếu lọc được theo nhiều tháng thì càng tốt ạ.
 

File đính kèm

  • Bao Cao.xlsx
    28.3 KB · Đọc: 325
Lần chỉnh sửa cuối:
Nếu lọc bằng VBA thì bạn dùng từ khoá Filter2D để tìm trên diễn đàn các bài của Ndu và Hoàng Trọng Nghĩa nha. theo mình thì kể cả code của nước ngoài mà mình biết vẫn chưa ăn được họ đâu.
 
Xin chào các anh chị trong GPE, hôm trước em có gửi một file lên diễn đàn nhờ mọi người giúp lọc dữ liệu và được giúp tạo một file lọc bằng VBA. Em sử dụng thấy thích quá nên tò mò tìm hiểu VBA và cũng muốn học thêm nay có 1 file cũng là công việc của em hay làm xin nhờ mọi người tạo code giúp để lọc bằng VBA. Vì khá dài dòng nên những yêu cầu em đều ghi trong sheet "Bao Cao" của file đính kèm. Nếu được thì mọi người cho em xin code mẫu và tài liệu học VBA với. Xin cám ơn mọi người.
P/s: Em quên mất là em cần tạo 1 nút bấm để lọc dữ liệu theo Tháng. Nếu lọc được theo nhiều tháng thì càng tốt ạ.
Bạn làm như file sau
 

File đính kèm

  • Bao%20Cao(1).rar
    33.3 KB · Đọc: 1,338
Cám ơn anh nginh ạ, lần trước cũng nhờ anh giúp. Liệu anh có thể cho em xin code để học hỏi được không anh
 
Luôn tiện xin hỏi Bác Nginh với cột NGÀY trong Sheet Bao Cao: Nếu cùng ngày tháng năm chỉ hiện một lần
(Giống kiểu gộp các NGÀY giống nhau thành 1 ô) thì làm thế nào ạ!
 
anh chi trong GPE oi ,,cho em hoi ti,lam the nao de viet VBA de loc mot cot sang cot khac xim cam on ak
 

File đính kèm

  • loc.xlsx
    8.2 KB · Đọc: 210
con de loc du lieu bang lap trinh VBA sao vay anh
 
con de loc du lieu bang lap trinh VBA sao vay anh

Bạn chạy đoạn code sau:
Mã:
Sub loc()
Dim mang() As Variant, i As Long, k As Long
For i = 3 To 13
  If Cells(i, 4) <> 0 Then
     k = k + 1
     ReDim Preserve mang(1 To k)
     mang(k) = Cells(i, 4)
  End If
Next i
[G3].Resize(k) = WorksheetFunction.Transpose(mang)
End Sub
 
con de loc du lieu bang lap trinh VBA sao vay anh
Một cách nửa cho bạn lựa chọn.
Mã:
Sub GPE()
Dim dArr, aArr, i As Long, k As Long
    aArr = Sheet1.Range("D3", Sheet1.Range("D65000").End(3))
ReDim dArr(1 To UBound(aArr, 1))
For i = 1 To UBound(aArr, 1)
  If aArr(i, 1) <> 0 Then
     k = k + 1
     dArr(k) = aArr(i, 1)
  End If
Next i
Sheet1.[G3].Resize(k) = Application.Transpose(dArr)
End Sub
 
tim giá trị lớn nhất

anh chị trong page ơi làm thế nào tìm giá trị lớn nhất bằng VBa ..nội dung e đã yêu cầu trong file rồi..ac giúp dùm em với
 
do excel bị gì e không tải file lên được ạ chị thông cảm
 
Làm thế nào tìm giá trị lớn nhất bằng VBa
Do excel bị gì e không tải file lên được ạ chị thông cảm

(1) Không thể thông cảm suông như vậy được; Chí ít cần mô tả chi tiết iêu cầu của mình, 1 khi không có file;

(2) Ví dụ cần tìm mã từng mặt hàng (cột C) có số lượng bán (cột F) lớn nhất trong ngày(cột B):
Ta cần khai báo xử dụng chí ít 4 tham biến
Dim Cls As Range, Arr(1 To 99, 1 To 2)
Dim Max_ As Double , W As Long
Dim MaHg As String

Ta tạo vòng lặp & tiến hành duyệt các hàng dữ liệu
Nếu cột [Ngày] đúng điều kiện & dữ liệu trong cột C khác với MaHg thí
Tăng biến đếm W lên 1
Ghi Vô mảng Arr()
Duyệt tiếp & nếu cột ngày vẫn đúng Đ/K, Cột C vẫn đúng với MaHg nhưng giá trị cột F > trị đã ghi trong mảng thì ghi đè giá trị này lên; Ghi mới trị trong MaHg = với trị vừa ghi
' ' ' ' '
Cứ thế tiếp tục cho đến dòng cuối chứa dữ kiệu.

Chúc thành công

(Bạn có thể tham khảo bài viết ở đây: http://www.giaiphapexcel.com/forum/...cục-đại-của-1-tiêu-chí-Đưa-bài-giúp-bạn/page4)
 
Chỉnh sửa lần cuối bởi điều hành viên:
dạ cho em xin lỗi diễn đàn vì thiếu hiểu biết nên đẫ đăng không đúng nội dung...em sẽ khắc phục lại
 
Lần chỉnh sửa cuối:
xin chao cac anh chi trong dien dan ..cho e hoi lam ao de viet code voi du lieu nay tuong ung voi du lieu kia ..vd nhu em loc dc du lieu 5 , 67 ,9 tuong ung voi no la 3 ,5 ,0.1..xin cam on a
 

File đính kèm

  • loc bo bot nhung hang khong.xlsm
    13.8 KB · Đọc: 93
Lần chỉnh sửa cuối:
/(hông nên trả lời với những bài đang sai nội qui!
)(&&@@)(&&@@)(&&@@
da cam on anh..do em tai len khong duoc chu khong yeu cau no ro rang roi
- - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - -- - -
anh chi trong page oi chi dum em code nay voi ..tinh hinh la..da loc dc du lieu oi ..nhung e muon tuong ung voi so loc du lieu do ...vd nhu e loc dc so 9 tuong ung voi no la 4
 
da e là thanh vien moi...nen co nhieu dieu chua biet ..mong anh chi thong cam
 
Lần chỉnh sửa cuối:
Dear các anh chị GPE.
E có 1 file gửi đính kèm như bên dưới, e cần lọc bằng VBA nhưng e chưa biết tí gì về VBA ạ, e đăng lên đây nhờ các anh chị GPE code giúp cho e với ạ
Nội dung lọc như sau:
- Lấy dữ liệu ở sheet "Phát sinh theo dõi hợp đồng" lên được báo cáo theo sheet "Báo cáo hợp đồng theo trạng thái" theo tiêu chí lọc "Trạng thái", Thời gian: từ ngày đến ngày, thông tin cần lấy theo cột như ở trong file ạ
- Tương tự lấy dự liệu ở sheet "Báo cáo hợp đòng theo trạng thái" lên báo cáo theo sheet "BC thực hiện hợp đồng" theo tiêu chí lọc "Số hợp đồng"
E cảm ơn các anh chị
 

File đính kèm

  • Quan lý du an.xlsx
    23.3 KB · Đọc: 30
Dear các anh chị GPE.
E có 1 file gửi đính kèm như bên dưới, e cần lọc bằng VBA nhưng e chưa biết tí gì về VBA ạ, e đăng lên đây nhờ các anh chị GPE code giúp cho e với ạ
Nội dung lọc như sau:
- Lấy dữ liệu ở sheet "Phát sinh theo dõi hợp đồng" lên được báo cáo theo sheet "Báo cáo hợp đồng theo trạng thái" theo tiêu chí lọc "Trạng thái", Thời gian: từ ngày đến ngày, thông tin cần lấy theo cột như ở trong file ạ
- Tương tự lấy dự liệu ở sheet "Báo cáo hợp đòng theo trạng thái" lên báo cáo theo sheet "BC thực hiện hợp đồng" theo tiêu chí lọc "Số hợp đồng"
E cảm ơn các anh chị
Bạn thử với trường hợp 1:
PHP:
  Application.ScreenUpdating = False
    Dim a(), b(), i As Long, j As Long, k As Long, bd As Long, kt As Long, LR As Long
    With Sheets("Phat sinh theo doi hop dong")
        a = .Range("B7", .Range("B65000").End(3)).Resize(, 8).Value
        LR = UBound(a)
    End With
    ReDim b(1 To LR, 1 To 8)
    With Sheets("Phat sinh theo doi hop dong")
        bd = Sheets("BC tinh trang hop dong").Range("E4").Value2: kt = Sheets("BC tinh trang hop dong").Range("E5").Value2
        For i = 1 To LR
            If a(i, 1) = Sheets("BC tinh trang hop dong").Range("C4") And a(i, 4) >= bd And a(i, 4) <= kt Then
                k = k + 1
               b(k, 1) = k
                For j = 2 To 8
                    b(k, j) = a(i, j)
                Next j
            End If
        Next i
        With Sheets("BC tinh trang hop dong")
            .Range("A8:H1000").Clear
            .Range("A8:H1000").Borders.LineStyle = 0
        End With
        If k Then
            With Sheets("BC tinh trang hop dong")
                .Range("A8").Resize(k, 8) = b
                .Range("A8").Resize(k, 8).Borders.LineStyle = 1
            End With
        End If
    End With
 
Web KT
Back
Top Bottom