Giúp đỡ về code để copy dữ liệu tự động và có điều kiện (2 người xem)

Liên hệ QC

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

chieutan

Thành viên mới
Tham gia
17/9/07
Bài viết
2
Được thích
0
Mình có 2 bảng tính:
1. Bảng tính Phantich cấu trúc như sau:
A B
Mã Tên công việc DVT
A001 Công việc 1
A002 Công việc 2
A003 Công việc 3
.....

2. Bảng tích Data như sau:
A B
Mã Thành phần
A001 Nguyên liệu 1
A001 Nguyên liệu 2
...
A002 Nguyên liệu 3
A002 Nguyên liệu 4
...
A003 Nguyên liệu 2
A003 Nguyên liệu 3
...
Trước đây mình phải xử lý bằng thủ công như sau:
Mở sheet "Data", tìm mã A001 bằng tay, chọn vùng cần copy, trở về sheet "Phantich", insert thêm dòng phía dưới mã A001, sau đó copy. Lần lượt như vậy cho đến hết.
Kết qua thu được như sau:
Bảng tính Phân tích:
A B
Mã Tên công việc DVT
A001 Công việc 1
A001 Nguyên liệu 1
A001 Nguyên liệu 2
A002 Công việc 2
A002 Nguyên liệu 3
A002 Nguyên liệu 4
....
Bạn nào có thể giúp mình viết code để xử lý công đoạn trên tự động không.
 
Cái này bạn có thể thực hiện với Advanced Filter. Hoặc Record Macro lại để xem code và điều chỉnh cho phù hợp.

TDN
 
Upvote 0
Cái này bạn tìm thử trên 4R, các bài của anh NVSON hay từ link sau:
http://www.giaiphapexcel.com/forum/archive/index.php/t-2265.html
Từ đó bạn vận dụng.
Bạn chưa nói rõ: tại sh ketqua là bạn chọn hết DM hay khi nhập dm A001,... thì sẽ thế nào. Nên làm theo hàng ngang
...................................NL01............NL02............NL03..........NLi
A001......Công việc 1........X1................X2......................................
A002......Công việc 2........Y1................Y2......................................
Công việc 1: dùng vlookup
X1, X2, Y1, Y2, Xi, Yi dùng sumproduct hay index
 
Upvote 0
Hơi căng à nha! Vì làm sao nhận biết dc cái nào là A001, cái nào là A002 đễ insert row cho đúng...
Phước có thương thì thương cho trót.. làm thử 1 file xem... hi.. hi..
ANH TUẤN
 
Upvote 0
Bạn gửi file lên mọi người hiểu sẽ giúp bạn
 
Upvote 0
Tôi làm 1 file mẩu cho các bạn nè... Giúp bạn ấy đi nhé!
 

File đính kèm

Upvote 0
Nguyên văn bởi anhtuan1066
Tôi làm 1 file mẩu cho các bạn nè... Giúp bạn ấy đi nhé!
Bạn dùng code sau. Mình viết theo file mẫu của bạn Tuấn. Có thể chế biến lại cho phù hợp. Copy vào module rồi chạy thử:
Sub loc_dulieu()
Dim i As Integer, j As Integer, k As Integer, t As Integer, a As Integer
k = 1
Do While k <= 2
a = 0
t = 1
For i = 8 To 17
Sheet1.Cells(i + a, k + 8) = Sheet1.Cells(i, k)
For j = 10 To 52
If Sheet2.Cells(j, 1) = Sheet1.Cells(i, 1) Then
Sheet1.Cells(i + t, k + 8) = Sheet2.Cells(j, k)
t = t + 1
a = a + 1
End If
Next
Next
k = k + 1
Loop
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thay mặt bạn ấy cám ơn Voda.. vì thật sự cái này cũng cần thiết đôí với tôi đấy!
Mến
ANH TUẤN
 
Upvote 0
Không hiểu sao tôi chạy thử thì báo lỗi dòng này
Mã:
, a As Interger

C.
 
Upvote 0
Đúng rồi. Khi test, mình chưa khai báo biến a. Đến khi post bài mình mới thêm vào, nên có sai sót. Xin lỗi các bạn nhé. Sao A.Tuấn lại không phát hiện được nhỉ?
 
Upvote 0
Xin cám ơn tất cả các bạn đã nhiệt tình trả lời }}}}} .
Mình đã load code của bạn MrOkeBab từ link do bạn ThuNghi post lên. Mình đã sửa lại code cho phù hợp và chạy thử. Kết quả là tuyệt vời, đúng như ý mình muốn. Do file của mình khá lớn (>45000 reccord !$@!! ) trong khi mạng của Cty quá chuối !$@!! nên mình chưa post file lên được.
Trong đoạn code của bạn MrOkeBab có dòng sau:
S03.Range("F" & m).Value = S03.Range("C" & m).Value * S03.Range("E" & m).Value
Mình muốn điều chỉnh lại code sao cho dữ liệu xuất ra là công thức chứ không phải là giá trị để khi mình thay đổi số lượng thì giá trị tự động thay đổi theo.
TB: Mình đang nghiên cứu vài đoạn code để tiện trong việc lập dự toán và quyết toán công trình XDCB, bạn nào quan tâm thì cùng post lên để trao đổi. Thân.
 
Upvote 0
Web KT

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

Back
Top Bottom