Tạo macro lọc dữ liệu theo ngày tháng và theo dữ liệu của file quản lý kho (1 người xem)

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

mquang909

Thành viên mới
Tham gia
21/4/14
Bài viết
8
Được thích
0
Xin chào các anh chị và các bạn!

Hiện nay mình đang làm một file dữ quản lý kho cho các bạn nhà mình sử dụng trong công việc hàng ngày.
Mục đích là quản lý nhập xuất tồn các thiết bị trong kho.
Mình sưu tập các đoạn VB phù hợp và sử dụng trong file, vì mình chỉ có hiểu biết rất cơ bản về VBA.

Tuy nhiên hiện tại minh đang vướng mắc mong mọi người giúp cho mình macro như sau:
1. Lọc dữ liệu theo ngày và tháng dùng cho Sheet " Báo cáo ngày". Mục đích là lập 2 macro gán cho nút lọc theo ngày và tháng. Khi bấm nút sẽ tạo ra bảng nhập dữ liệu ngày, tháng, năm. Sau đó copy toàn bộ dữ liệu có cùng ngày, tháng, năm với dữ liệu đã nhập từ Sheet "Nhập xuất thiết bị" sang sheet "Báo cáo ngày".
2. Tại sheet "Hàng cần mua" khi tích vào nút hiển thị sẽ tự động Copy toàn bộ dữ liệu từ sheet "Bảng mã hàng hóa" sang Sheet " Danh sach hang can mua" thỏa mãn: số lượng hiện tại nhỏ hơn hoặc bằng số lượng cài đặt tối thiểu.

Cụ thể mọi người xem giúp mình trong file đính kèm.

Rất mong các bạn và các anh, chị giúp đỡ.

Cám ơn các anh chị và các bạn!
 
Lần chỉnh sửa cuối:
Xin chào các anh chị và các bạn!

Hiện nay mình đang làm một file dữ quản lý kho cho các bạn nhà mình sử dụng trong công việc hàng ngày.
Mục đích là quản lý nhập xuất tồn các thiết bị trong kho.
Mình sưu tập các đoạn VB phù hợp và sử dụng trong file, vì mình chỉ có hiểu biết rất cơ bản về VBA.

Tuy nhiên hiện tại minh đang vướng mắc mong mọi người giúp cho mình macro như sau:
1. Lọc dữ liệu theo ngày và tháng dùng cho Sheet " Báo cáo ngày". Mục đích là lập 2 macro gán cho nút lọc theo ngày và tháng. Khi bấm nút sẽ tạo ra bảng nhập dữ liệu ngày, tháng, năm. Sau đó copy toàn bộ dữ liệu có cùng ngày, tháng, năm với dữ liệu đã nhập từ Sheet "Nhập xuất thiết bị" sang sheet "Báo cáo ngày".
2. Tại sheet "Hàng cần mua" khi tích vào nút hiển thị sẽ tự động Copy toàn bộ dữ liệu từ sheet "Bảng mã hàng hóa" sang Sheet " Danh sach hang can mua" thỏa mãn: số lượng hiện tại nhỏ hơn hoặc bằng số lượng cài đặt tối thiểu.

Cụ thể mọi người xem giúp mình trong file đính kèm.

Rất mong các bạn và các anh, chị giúp đỡ.

Cám ơn các anh chị và các bạn!
Nhìn màu mè một hồi "điếc" con mắt quá.
Làm thử 1 sheet báo cáo ngày.
Còn sheet kia hổng biết lấy chỗ nào so với chỗ nào
 

File đính kèm

Upvote 0
Nhìn màu mè một hồi "điếc" con mắt quá.
Làm thử 1 sheet báo cáo ngày.
Còn sheet kia hổng biết lấy chỗ nào so với chỗ nào

Cám ơn bác rất nhiều!
Input đúng như em mong muốn.
Tuy nhiên em muốn nhờ bác mở rộng vùng dữ liệu ra toàn bộ (hiện tại là đến hàng thứ 2004) vì bên em
sẽ thêm rất nhiều dữ liệu nhập xuất vào sheet nhập xuất. Vì hiện tại khi em thêm một thiết bị vào hang 15,
nhưng kết quả tìm kiểm không hiển thị thiết bị này.
Đối với macro tìm kiểm trong sheet "Danh sách hàng cần mua" sẽ dựa vào dữ liệu trong sheet "Bang ma hang hoa",
cột G và cột H. Thiết bị nào có số lượng hiện tại nhỏ hơn hoặc bằng số lượng cài đặt sẽ xuất hiện trong sheet "Danh
sach hang can mua" sau khi tích vào ô hiển thị. Bác cũng mở rộng vùng giá trị giúp em vì bên em sẽ thêm nhiều thiết bị
trong tương lại.
Em cám ơn bác rất nhiều!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nhìn màu mè một hồi "điếc" con mắt quá.
Làm thử 1 sheet báo cáo ngày.
Còn sheet kia hổng biết lấy chỗ nào so với chỗ nào

Em xin lỗi bác Ba tê!
Em đã xem lại trong chương trình và thấy bác đã để vùng tìm kiếm đủ cho macro báo cáo ngày và tháng.
Là do khi chạy thử em không nhập xuất lần lượt mà nhập ngày vào hàng 15, để lại cả vùng trống nên
kết quả lọc không chính xác.
Cám ơn bác rất nhiều.
Bác có thể bớt chút thời gian tạo giúp em Macro cho sheet " Danh sach thiêt bi can mua" được không ạ.
Cám ơn bác rất nhiều!
 
Upvote 0
Em xin lỗi bác Ba tê!
Em đã xem lại trong chương trình và thấy bác đã để vùng tìm kiếm đủ cho macro báo cáo ngày và tháng.
Là do khi chạy thử em không nhập xuất lần lượt mà nhập ngày vào hàng 15, để lại cả vùng trống nên
kết quả lọc không chính xác.
Cám ơn bác rất nhiều.
Bác có thể bớt chút thời gian tạo giúp em Macro cho sheet " Danh sach thiêt bi can mua" được không ạ.
Cám ơn bác rất nhiều!
Bạn đã biết sử dụng CheckBox thì tặng bạn Sub này, gán vào xài thử xem sao.
[GPECODE=vb]Public Sub LUXUBU()
Dim sArr(), dArr(), I As Long, J As Long, K As Long
With Sheets("Bang Ma Hang Hoa")
sArr = .Range(.[B2], .[B2].End(xlDown)).Resize(, 7).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 6)
With Sheets("Danh sach hang can mua")
For I = 1 To UBound(sArr, 1)
If sArr(I, 6) < sArr(I, 7) Then
K = K + 1
dArr(K, 1) = K
For J = 1 To 3
dArr(K, J + 1) = sArr(I, J)
Next J
dArr(K, 5) = sArr(I, 6)
dArr(K, 6) = sArr(I, 7)
End If
Next I
.[A9:F50000].ClearContents
If K Then .[A9].Resize(K, 6) = dArr
End With
End Sub[/GPECODE]
 
Upvote 0
Bạn đã biết sử dụng CheckBox thì tặng bạn Sub này, gán vào xài thử xem sao.
[GPECODE=vb]Public Sub LUXUBU()
Dim sArr(), dArr(), I As Long, J As Long, K As Long
With Sheets("Bang Ma Hang Hoa")
sArr = .Range(.[B2], .[B2].End(xlDown)).Resize(, 7).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 6)
With Sheets("Danh sach hang can mua")
For I = 1 To UBound(sArr, 1)
If sArr(I, 6) < sArr(I, 7) Then
K = K + 1
dArr(K, 1) = K
For J = 1 To 3
dArr(K, J + 1) = sArr(I, J)
Next J
dArr(K, 5) = sArr(I, 6)
dArr(K, 6) = sArr(I, 7)
End If
Next I
.[A9:F50000].ClearContents
If K Then .[A9].Resize(K, 6) = dArr
End With
End Sub[/GPECODE]


Em cám ơn bác!
Em đã gán vào OK mặc dù khi bỏ tich checkbox kết quả không bị xóa đi,
nhưng thế là ổn rồi ạ.
 
Upvote 0
Em cám ơn bác!
Em đã gán vào OK mặc dù khi bỏ tich checkbox kết quả không bị xóa đi,
nhưng thế là ổn rồi ạ.
Tôi chỉ viết code. Còn điều kiện CheckBox khi nào lấy, khi nào xóa thì bạn phải làm chứ.
Thử xem sao.
 

File đính kèm

Upvote 0
Perfect!


Sorry thầy vì em không xem thông tin của thầy nên xưng hô chưa đúng.
Em cám ơn thầy đã giúp em hoàn thành file quản lý!
 
Upvote 0

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

Back
Top Bottom