Chèn thêm dòng có điều kiện và tính tổng và lọc ra những dữ liệu cần xử lý với Macro

  • Thread starter phuongla83
  • Ngày gửi
P

phuongla83

Guest
20/3/15
2
0
1
38
Chào các anh, chi.

Mình có file Excel được viết Macro tính tổng sản lượng mỗi công đoạn của mỗi chuyền mày. Tự động chèn thêm dòng và tính tổng số lượng của mỗi công đoạn.
Nhờ các anh chị viết thêm dùm mình, lọc ra những công đoạn đã nhập với số lượng lớn hơn số lượng cho phép và tính ra con số trồi là bao nhiêu.
Chi tiết xin vui lòng xem file đính kèm.

Mình có 8 chuyền may, có cách nào một Macro sẽ dùng được cho tất cả các file excel chứa dữ liệu gốc không ?
Xem file gốc đính kèm.
Các file gốc lần lược cho các chuyền từ 1 đến 8 giống cấu trúc như nhau.

Cám ơn.
 

Đính kèm

  • ChenDongTong_New2.xls
    83.5 KB · Lượt xem: 185
  • File goc chua xu ly.XLS
    37.5 KB · Lượt xem: 126
Khóa học Quản trị dòng tiền
A

alodie123

Guest
11/3/15
4
0
1
39
Sub them()
Dim ws As Worksheet, quote As Long, i As Long, d As Long, e As Long
Set ws = Sheets("Data")
ws.Select
quote = ws.Range("J2")
ws.AutoFilterMode = False
i = Range("G" & Rows.Count).End(xlUp).Row
Columns("F:I").Select
Selection.AutoFilter Field:=1, Criteria1:=""
Selection.AutoFilter Field:=4, Criteria1:=">=" & quote
Range("F2:I" & i).SpecialCells(xlCellTypeVisible).Copy
Range("O1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
ws.AutoFilterMode = False
d = Range("R" & Rows.Count).End(xlUp).Row
For e = 1 To d
ws.Range("K" & e + 1) = Right(Range("P" & e), 2)
ws.Range("L" & e + 1) = Range("R" & e) - quote
Next e
Columns("O:R").Delete
End Sub
:D mình mới tập tành VBA nên co lẽ hơi thủ công tý. Sub trông hoa mắt nhưng cũng dễ sử dụng thôi bạn.
Bạn chỉ việc copy sub này vào cùng module với sub trên rồi thêm dòng lệnh: call them() trước cụm từ End Sub của bạn là đc.
 
Sửa lần cuối:
P

phuongla83

Guest
20/3/15
2
0
1
38
Sub them()
Dim ws As Worksheet, quote As Long, i As Long, d As Long, e As Long
Set ws = Sheets("Data")
ws.Select
quote = ws.Range("J2")
ws.AutoFilterMode = False
i = Range("G" & Rows.Count).End(xlUp).Row
Columns("F:I").Select
Selection.AutoFilter Field:=1, Criteria1:=""
Selection.AutoFilter Field:=4, Criteria1:=">=" & quote
Range("F2:I" & i).SpecialCells(xlCellTypeVisible).Copy
Range("O1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
ws.AutoFilterMode = False
d = Range("R" & Rows.Count).End(xlUp).Row
For e = 1 To d
ws.Range("K" & e + 1) = Right(Range("P" & e), 2)
ws.Range("L" & e + 1) = Range("R" & e) - quote
Next e
Columns("O:R").Delete
End Sub
:D mình mới tập tành VBA nên co lẽ hơi thủ công tý. Sub trông hoa mắt nhưng cũng dễ sử dụng thôi bạn.
Bạn chỉ việc copy sub này vào cùng module với sub trên rồi thêm dòng lệnh: call them() trước cụm từ End Sub của bạn là đc.
Cám ơn bạn nhiều lắm. Mình đang test có gì bạn giúp đỡ mình nha
 
A

alodie123

Guest
11/3/15
4
0
1
39
Mình có 8 chuyền may, có cách nào một Macro sẽ dùng được cho tất cả các file excel chứa dữ liệu gốc không ?
Các file gốc lần lược cho các chuyền từ 1 đến 8 giống cấu trúc như nhau.
Cám ơn.
Bạn có thể nghiên cứu videos này để giải quyết vấn đề của bạn.
 

Xem nhiều