Code VBA phân tích từ bảng dữ liệu cho trước (1 người xem)

  • Thread starter Thread starter BoKuDo
  • Ngày gửi Ngày gửi
Liên hệ QC

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

BoKuDo

Thành viên chính thức
Tham gia
17/12/13
Bài viết
92
Được thích
5
Nghề nghiệp
Kế toán
Nhờ các bạn giúp mình code vba sao cho từ bảng dữ liệu thép này, khi chạy code sẽ cho ra sheet "KetQua" có nội dung phân tích như sheet bên.
Cụ thể là:
1/ sẽ đưa nội dung của cột A, B, C, D, E, F từ sheet "DuLieu" qua các cột A, B, D, E, F, G của sheet "KetQua"
2/ Các cột mình tô màu vàng sẽ được đưa vào cột Q ở bên sheet "KetQua". cứ phân tích như vậy cho đến hết dòng này xuống dòng khác
Riêng phần thép đai (cột Q) sẽ là công thức dựa vào chiều dài cột D và khoảng cách cột Y để tính ra số lượng.


Mình trình bày như vậy không biết có thuận lợi để các bạn giúp không, nếu có gì ko rõ mình sẽ cố gắng trình bày kỹ hơn.
Mình thấy khó nhưng hy vọng các bạn có thể giúp mình vấn đề này.
Rất cảm ơn các bạn!
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ các bạn giúp mình code vba sao cho từ bảng dữ liệu thép này, khi chạy code sẽ cho ra sheet "KetQua" có nội dung phân tích như sheet bên.
Cụ thể là:
1/ sẽ đưa nội dung của cột A, B, C, D, E, F từ sheet "DuLieu" qua các cột A, B, D, E, F, G của sheet "KetQua"
2/ Các cột mình tô màu vàng sẽ được phân tích ra thành nhiều dòng ở bên sheet "KetQua" (Ví dụ ở sheet "DuLieu" ô G5 là số 3 thì tương ứng sẽ cho ra bên sheet "KetQua" 3 dòng 7, 8, 9 là 3 cây thép fi25. cứ phân tích như vậy cho đến hết dòng này xuống dòng khác)


Mình trình bày như vậy không biết có thuận lợi để các bạn giúp không, nếu có gì ko rõ mình sẽ cố gắng trình bày kỹ hơn.
Mình thấy khó nhưng hy vọng các bạn có thể giúp mình vấn đề này.
Rất cảm ơn các bạn!
Xin hỏi "Thép đai" có gì đặt biệt? Sao w5=3 (sheet DuLieu) mà bên sheet "KetQua" chỉ có 1 dòng 13?
Và sao không làm hết cái bảng KetQua bằng vba luôn mà nửa nạc, nửa mỡ!!
 
Upvote 0
Xin hỏi "Thép đai" có gì đặt biệt? Sao w5=3 (sheet DuLieu) mà bên sheet "KetQua" chỉ có 1 dòng 13?
Và sao không làm hết cái bảng KetQua bằng vba luôn mà nửa nạc, nửa mỡ!!

Cảm ơn câu hỏi của bạn làm mình tỉnh ra, ko lại đi sai đường.
thành thật xin lỗi vì mình nhầm phần này.
Cột Q bên sheet "KetQua" phải là lấy số liệu từ các cột màu vàng bên sheet "DuLieu" mới đúng. còn làm như hướng ban đầu của mình nhờ thì rất dài dòng và rối.
Riêng phần thép đai (cột Q) sẽ là công thức dựa vào chiều dài cột D và khoảng cách cột Y để tính ra số lượng.
Mình gửi lại file đính kèm nhờ bạn xem lại giúp.
Thành thật xin lỗi và cảm ơn!
 

File đính kèm

Upvote 0
Xin hỏi "Thép đai" có gì đặt biệt? Sao w5=3 (sheet DuLieu) mà bên sheet "KetQua" chỉ có 1 dòng 13?
Và sao không làm hết cái bảng KetQua bằng vba luôn mà nửa nạc, nửa mỡ!!

Thực ra mình rất muốn nhờ giúp hoàn thiện luôn bảng tính bằng vba, tuy nhiên nhờ như vậy thì rất khó để trình bày, vì thấy mới có phần này mà mình đã rối rồi, nên sợ nếu yêu cầu nhiều quá sẽ khó được hỗ trợ. Mong bạn thông cảm!
 
Upvote 0
Thực ra mình rất muốn nhờ giúp hoàn thiện luôn bảng tính bằng vba, tuy nhiên nhờ như vậy thì rất khó để trình bày (2), vì thấy mới có phần này mà mình đã rối rồi, nên sợ nếu yêu cầu nhiều quá sẽ khó được hỗ trợ. Mong bạn thông cảm!

(1) Q3=E9/((100+200)/2)+1
Chưa thấy w5=3 xuất hiện trong công thức? Không tính đến số nhánh phải không?
(2) Vậy trình bày sao cho dễ là được.
Nếu không cần làm hết bằng vba thì tùy bạn. Cột S và T có thể viết hàm tự tạo cũng được.

Bạn phản hồi lại bài này rồi tiến hành làm...
 
Upvote 0
(1) Q3=E9/((100+200)/2)+1
Chưa thấy w5=3 xuất hiện trong công thức? Không tính đến số nhánh phải không?
(2) Vậy trình bày sao cho dễ là được.
Nếu không cần làm hết bằng vba thì tùy bạn. Cột S và T có thể viết hàm tự tạo cũng được.

Bạn phản hồi lại bài này rồi tiến hành làm...

Xin được phản hồi lại bạn:
1. phần thép đai mình sẽ không quan tâm đến số nhánh (w5=3 hoặc bất kỳ số nào)
và công thức tính số lượng thép đai phải ở vị trí tương ứng với dòng thép đai (ở đây là Q9 và Q18)
2. các cột C, H, O, P, R, S, T, U, V, W bạn giúp mình sao cho công thức ý như file mẫu (sheet "KetQua")
Mình rất cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
Xin được phản hồi lại bạn:
1. phần thép đai mình sẽ không quan tâm đến số nhánh (w5=3 hoặc bất kỳ số nào)
và công thức tính số lượng thép đai phải ở vị trí tương ứng với dòng thép đai (ở đây là Q9 và Q18)
2. các cột C, H, O, P, R, S, T, U, V, W bạn giúp mình sao cho công thức ý như file mẫu (sheet "KetQua")
Mình rất cảm ơn!

Đã thực hiện các cột: [A:H], [N] [Q:R], [Y]

Bạn xem file đính kèm!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Đã thực hiện các cột: [A:H], [N] [Q:R], [Y]

Bạn xem file đính kèm!

Mình cảm ơn bạn nhiều!
Bạn có thể giúp mình ở các cột C, H, O, P, R, S, T, U, V, W sao cho công thức giống như file mẫu (sheet "KetQua") được không?
vì số dòng công thức bên sheet "KetQua" phải phụ thuộc vào dữ liệu bên sheet "DuLieu" nữa.
---------------------------
Dựa theo code bạn mình làm được theo yêu cầu trên rồi.
Một lần nữa rất cảm ơn bạn!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn bạn nhiều!
Bạn có thể giúp mình ở các cột C, H, O, P, R, S, T, U, V, W sao cho công thức giống như file mẫu (sheet "KetQua") được không?
vì số dòng công thức bên sheet "KetQua" phải phụ thuộc vào dữ liệu bên sheet "DuLieu" nữa.
---------------------------
Dựa theo code bạn mình làm được theo yêu cầu trên rồi.
Một lần nữa rất cảm ơn bạn!

Bạn làm như nào vậy? Có thể chia sẻ cho thành viên khác tham khảo không? Tôi cũng thấy tò mò.
 
Upvote 0
@BoKuDo:
... nhưng không hay với dữ liệu nhiều. Cột [C], [H], [Q] tôi viết cho vba rồi sao còn gán công thức xuống bảng tính làm gì? Vì lý do dữ liệu lớn => xài VBA, tại sao còn làm cái việc ngược như thế? (Chưa kể cái công thức đó xài indirect() làm chi chời?)
Tôi có hỏi là tại sao không làm hết bằng vba ở bài #2.
và nếu vẫn có công thức thì nên dùng hàm tự tạo (có nêu ở bài #5). Bạn thử làm theo hướng này xem.
 
Lần chỉnh sửa cuối:
Upvote 0
@BoKuDo:
... nhưng không hay với dữ liệu nhiều. Cột [C], [H], [Q] tôi viết cho vba rồi sao còn gán công thức xuống bảng tính làm gì? Vì lý do dữ liệu lớn => xài VBA, tại sao còn làm cái việc ngược như thế? (Chưa kể cái công thức đó xài indirect() làm chi chời?)
Tôi có hỏi là tại sao không làm hết bằng vba ở bài #2.
và nếu vẫn có công thức thì nên dùng hàm tự tạo (có nêu ở bài #5). Bạn thử làm theo hướng này xem.

Mình để công thức vì số liệu ở các ô này còn dựa vào cột I:M nữa bạn à.
Cả ngày nay ngồi mò tìm cách đưa hình dạng bên Sheet "DataT" qua bên cột I:M của sheet "KetQua" tương ứng dựa vào 2 điều kiện ở cột D và cột Y của sheet "KetQua" mà ko được.
Từ code trên của bạn, bạn có thể giúp mình thêm nốt phần này ko?
Mình cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình để công thức vì số liệu ở các ô này còn dựa vào cột I:M nữa bạn à.
Cả ngày nay ngồi mò tìm cách đưa hình dạng bên Sheet "DataT" qua bên cột I:M của sheet "KetQua" tương ứng dựa vào 2 điều kiện ở cột D và cột Y của sheet "KetQua" mà ko được.
Từ code trên của bạn, bạn có thể giúp mình thêm nốt phần này ko?
Mình cảm ơn!

Vậy thì tùy bạn. Tôi xin rút lui.
 
Upvote 0
Nhờ vào code của bạn befaint, giờ mình có được file PhanTich.
Tuy nhiên để được sheet "KetQua" như trong file thì mình phải làm thủ công rất nhiều bước, nhất là bước chọn thép. Vì mình phải dựa vào điều kiện ở cột Y và D để tìm hình dạng cho phù hợp. Nếu bảng có nhiều số liệu hơn nữa thì làm rất lâu và dễ bị nhầm lẫn.
Nay mình lại nhờ tiếp các bạn trên GPE giúp mình làm sao cho khi chạy "Xuất KQ" thì chương trình làm luôn 2 nhiệm vụ:

1. Xuất kết quả qua từ sheet "DuLieu" giống như code "XuatKQ"
2. Tự động dựa vào 2 điều kiện ở cột D và Y giữa 2 sheet "KetQua" và sheet "DataT" để tìm thanh thép phù hợp, sau đó copy qua sheet "KetQua"
Nếu làm được như vậy thì các code copy như trong file đính kèm sẽ không dùng đến nữa. Hy vọng các bạn trên GPE có thể giúp mình thêm phần này.
Mình cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
mình xoay mãi ko ra, up lên nhờ các bạn trên GPE giúp!
mình cảm ơn!
 
Upvote 0
up lên hy vọng có bạn giúp mình vấn đề này.
Mình cảm ơn!
 
Upvote 0
Không biết mình trình bày có gì không rõ?
 
Lần chỉnh sửa cuối:
Upvote 0
Mò mẫm mấy ngày nay cuối cùng mình đã làm được. Đúng là tự làm sẽ học được rất nhiều, tuy nhiên nhờ các bạn hỗ trợ mình nghĩ sẽ nhanh được kết quả, và code sẽ tối ưu hơn.
Một lần nữa rất cảm ơn các bạn trên GPE đã hỗ trợ!
Chúc vui!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom