Giúp Code: lấy số liệu từ Sheet Tổng hợp và Sheet có liên quan. (1 người xem)

Liên hệ QC

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

Hong.Van

Busy
Tham gia
7/5/12
Bài viết
2,330
Được thích
1,767
Em chào Thầy cô & anh chị!
Xin vui lòng viết code giúp em: Trích dữ liệu từ Sheet Tổng hợp và Sheet có liên quan
Em có mô tả trong Sheet Yeucau
Em cảm ơn!
 

File đính kèm

/(/ếu là mình, mình sẽ làm vầy:

Đổi tên trang 'T00' thành 'Ton' để lưu trữ sản lượng tồn của mọi tháng (Mỗi tháng 2 cột), bắt đầu từ T00 như bạn.

Các trang sau T01 bỏ đi; Trang T01 chuyển thành tên 'Report'

Khi nào bạn cần số liệu tháng nào thể hiện trên Report thì cho chạy macro từ CF có trên trang Report;

(/ì bạn ít nhiều đã biết VBA, nên mình khuyên bạn thế này:

Nếu dữ liệu CQ bạn đồ sộ thì fải nhờ đến mảng để xử lí, còn không thì bạn thử dùng AdvancedFillter xem sao;

Mỗi cách có ưu khuyết của nó; ví như xài mảng thì bạn cần học thêm để biết về cách xài mảng (Chẳng lẻ mỗi thay đổi chu trình QL bạn lại lên GPE nhờ chỉnh sửa sao?)

Xài AdvancedFilter tuy có chậm như dễ nắm bắt & bạn dễ chủ động trong chỉnh sửa, bảo trì & fát triển;

Sau đó có thêm thời gian thì nắm thêm cách xài mảng . . . .

Hi vọng không cảm thấy fiền lòng!
 
Upvote 0
Đổi tên trang 'T00' thành 'Ton' để lưu trữ sản lượng tồn của mọi tháng (Mỗi tháng 2 cột), bắt đầu từ T00 như bạn.

Các trang sau T01 bỏ đi; Trang T01 chuyển thành tên 'Report'

Khi nào bạn cần số liệu tháng nào thể hiện trên Report thì cho chạy macro từ CF có trên trang Report;

(/ì bạn ít nhiều đã biết VBA, nên mình khuyên bạn thế này:

Nếu dữ liệu CQ bạn đồ sộ thì fải nhờ đến mảng để xử lí, còn không thì bạn thử dùng AdvancedFillter xem sao;

Mỗi cách có ưu khuyết của nó; ví như xài mảng thì bạn cần học thêm để biết về cách xài mảng (Chẳng lẻ mỗi thay đổi chu trình QL bạn lại lên GPE nhờ chỉnh sửa sao?)

Xài AdvancedFilter tuy có chậm như dễ nắm bắt & bạn dễ chủ động trong chỉnh sửa, bảo trì & fát triển;

Sau đó có thêm thời gian thì nắm thêm cách xài mảng . . . .

Hi vọng không cảm thấy fiền lòng!

Cảm ơn sự góp ý của bạn.
Trước đây mình cũng có ý tạo một Trang Report, khi nào cần chỉ lọc số liệu "Từ ngày Đến ngày" là ra kết qủa, nhưng vì mỗi tháng còn fải lập định mức, so sánh giá vốn doanh thu của từng mặt hàng ... để trình cho các sếp xem, vì các sếp muốn xem trực diện của từng tháng để so sánh hay làm gì đó ... Nên mình ý tưởng lập thành các Sheet T01, ...T12
Số liệu cũng khá nhiều, mình cũng đã viết code nhưng dựa trên công thức nên chạy khá chậm. Vì thế Nhờ thầy cô & anh chị viết giúp code này
Mình cũng đang lò mò code dạng mảng, nên cũng muốn các Thầy và anh chị giúp, và cũng từ đây mình có thể áp dụng nó vào một số bài thực tế khác có dạng tương tự
Em cảm ơn!
---------------------
P/S:
Hi vọng không cảm thấy fiền lòng!
Sự góp ý chính đáng có chi là fiền!
 
Upvote 0
Em chào Thầy cô & anh chị!
Xin vui lòng viết code giúp em: Trích dữ liệu từ Sheet Tổng hợp và Sheet có liên quan
Em có mô tả trong Sheet Yeucau
Em cảm ơn!
Thấy dạng bài này cũng "khoái" nhưng không phải trong nghề nên còn lờ mờ quá.
Để xem kỹ lại từng yêu cầu xem sao.
 
Upvote 0
Bài này chắc cũng không khó lắm nhưng chưa hiểu rõ yêu cầu nên chưa biết khởi động thế nào
Số lượng dòng có thay đổi hay không? Dữ liệu từ cột A đến D có thay đổi không?
Nếu dựa vào công thức để viêt code chắc đơn giản thôi.
 
Upvote 0
Bài này không khó, chỉ thử thách lòng kiên nhẫn của chúng ta thôi
Nếu xử lý trực tiếp trên sheet thì....dễ ẹct, nhưng nếu chơi mảng thì đúng là.....tra tấn
Anh Ba Tê & chú Quang Hải hổng biết làm kế toán dzồi, xem mình làm kế toán nè
Trong sheet tổng hợp phải đầy đủ các Mã Vật tư nhe bồ tèo, hổng đủ, code nó "tèo" dzáng chịu
Mình copy cái bảng qua kế bên để kiểm "cha" nhé, kết quả ở vùng A ==> N, bấm Ctrl + W chạy code
Hihi, viết xong cóc dám nhìn lại code, ghê quá. Kế toán rắc rối thật. Híc, xài được thì xài, còn không thì thôi, mình ngồi buồn viết đại, đừng hỏi tiếp
Thân
 

File đính kèm

Upvote 0
Em chào Thầy cô & anh chị!
Xin vui lòng viết code giúp em: Trích dữ liệu từ Sheet Tổng hợp và Sheet có liên quan
Em có mô tả trong Sheet Yeucau
Em cảm ơn!
Nếu "cái sườn" này giống nhau mỗi tháng thì dễ dàng hơn. Có thể làm nó giống nhau mỗi tháng được không?
 

File đính kèm

  • Hong.Van.JPG
    Hong.Van.JPG
    41.5 KB · Đọc: 86
Upvote 0
Nếu "cái sườn" này giống nhau mỗi tháng thì dễ dàng hơn. Có thể làm nó giống nhau mỗi tháng được không?

Cái sườn này mỗi tháng sẽ không giống nhau, mà tháng sau sẽ GIỐNG hoặc NHIỀU HƠN tháng trước (không có trường hợp ít hơn)
Em ví dụ: Tháng 12 của năm trước (Sheet T00) và Tháng 01 năm nay (Sheet T01) chưa có nhóm mã 1561 và các mã con là H001, H002, ....
|
A​
|
B​
|
C​
|
D
7​
|STT|Mã|Mặt hàng|ĐVT
8​
||HH||
9​
|II|152|KHO NGUYÊN VẬT LIỆU|
10​
|1|L001|Dầu DO|Lít
11​
|2|L002|Nhớt |Lít
12​
|III|153|KHO CÔNG CỤ DỤNG CỤ|
13​
|1|D001|Vỏ xe|Cái
14​
|2|D002|Săm xe|Cái
15​
|3|D003|Yếm xe|Cái
16​
|IV|155|KHO THÀNH PHẨM|
17​
|1|P001|Gạch thẻ|Viên
18​
|2|P002|Gạch ống|Viên
19​
|Cộng|||
(Hình của T00 và T01)

Bắt đầu từ Tháng 2 (Sheet T02) phát sinh mới Mã 1561 và các mã con (H001, H002...)
Đồng thời phát sinh thêm L003 của nhóm 152 và P003 của nhóm 155

|
A​
|
B​
|
C​
|
D
7​
|STT|Mã|Mặt hàng|ĐVT
8​
||HH||
9​
|I| 1561|KHO HÀNG HÓA|
10​
|1| H001|Cát bê tông|m³
11​
|2| H002|Cát xây tô|m³
12​
|3| H003|Cát lấp|m³
13​
|II|152|KHO NGUYÊN VẬT LIỆU|
14​
|1|L001|Dầu DO|Lít
15​
|2|L002|Nhớt |Lít
16​
|| L003|Mỡ bò|Kg
17​
|III|153|KHO CÔNG CỤ DỤNG CỤ|
18​
|1|D001|Vỏ xe|Cái
19​
|2|D002|Săm xe|Cái
20​
|3|D003|Yếm xe|Cái
21​
|IV|155|KHO THÀNH PHẨM|
22​
|1|P001|Gạch thẻ|Viên
23​
|2|P002|Gạch ống|Viên
24​
|| P003|Gạch ngói|Viên
25​
|Cộng|||
(Hình của T02)
----------------
Lý do, em muốn áp dụng cho nhiều Cty, Nếu Cty khác mà không có nhóm (Ví dụ 155) thì khi đưa vào các tháng thì nhìn nó kỳ kỳ!
-----------------
Code của Thầy Concogia, em Test thì thấy tất cả các tháng phải có cùng số nhóm, ví dụ 152, 153, 155, nếu qua tháng sau mà tăng thêm 1 nhóm, ví dụ thêm nhóm 1561 là bị báo lỗi
---------------
Em xin cảm ơn
 
Upvote 0
Hihi, bài này bắt đầu vui rồi đây
Gần hiểu rồi
Bi giờ túm lại ( lần 1) nhé
1- "Cái sườn" ( lời của anh Ba Tê) là do bạn nhập
2- Sườn của tháng sau phải bằng hoặc nhiều hơn tháng trước, đương nhiên_ nhắc lại thôi ( nhưng lỡ tháng trước tồn bằng không (zero) vậy có mang qua tháng sau không Trời ??? )
Công việc:
1)- Lấy tồn tháng trước bỏ vào tháng sau
2)- Dò xuất nhập ở sheet TH bỏ vào sheet hiện hành
3)- Tính toán "lung sờ tung" theo một đống công thức của bạn
Theo mình, có 2 yêu cầu:
1-- Trong sheet TH phải có đủ các Mã hàng hóa (H00..,L00....vv..) xuất hiện trong cái "sườn" của bạn theo từng tháng_ tức là trong bảng tổng hợp phải có đủ các Mã hàng hóa của Tồn đem qua, Xuất Nhập trong tháng_ "thú dzị": trong bài của bạn không có Mã D001 trong tháng T01 ( nếu không sẽ cực hơn tý tẹo )
2-- Công ty bạn có 4 cái kho đó hay nhiều hơn ???? Nếu nhiều hơn thì phải có cái bảng chứa những em này (152 ==> KHO NGUYÊN VẬT LIỆU, 1561==>KHO HÀNG HÓA, 15 gì đó==> KHO "GÌO ĐÍ"......)
Híc, chắc phải túm lại vài lần & kiên nhẫn lắm mới hy vọng xử "em" này được. Cứ "Nhập Xuất Tồn" ....đau cả đầu
Thân
 
Upvote 0
2- Sườn của tháng sau phải bằng hoặc nhiều hơn tháng trước, đương nhiên_ nhắc lại thôi ( nhưng lỡ tháng trước tồn bằng không (zero) vậy có mang qua tháng sau không Trời ???
1/ Tháng trước tồn cuối kỳ bằng không hay lớn hơn 0 (thậm chí số ÂM), thì vẫn mang sang Tồn đầy kỳ của tháng sau và tương ứng với các nhóm kho (1561, 152...) và các mã hàng (H001, H002, ...L001,..., ...)
2/ Nếu tháng trước chưa có Mã kho 1561 và các mã hàng H001, H002 ... khi qua tháng sau có thêm mã Kho và các mã hàng vừa nói thì Tồn đầu kỳ của nó = 0


Trong sheet TH phải có đủ các Mã hàng hóa (H00..,L00....vv..) xuất hiện trong cái "sườn" của bạn theo từng tháng_ tức là trong bảng tổng hợp phải có đủ các Mã hàng hóa của Tồn đem qua, Xuất Nhập trong tháng

Trong Sheet TH không bắt buộc xuất hiện đủ Nhập hay Xuất của các mã H001,..; L001,...; D001, ...; P001.... Bởi vì có những mặt hàng sẽ không nhập hoặc xuất trong một tháng, thậm chí một năm.
Và sẽ có trường hợp đặc biệt như : Tháng 2 là TẾT -> nghĩ mua - bán, do đó bên Sheet TH sẽ không có các dòng phát sinh cho tháng 2, nhưng vẫn có Sheet T02 (như vậy Sheet T02 chỉ có các số liệu như sau: lấy tồn cuối kỳ của T001 làm Tồn đầu kỳ cho T002, Tính "ĐGBQ" cột J (cách tính giống như Công thức của em, để tránh báo lỗi #DIV/0!) và tính tồn cuối kỳ (cột L &M))

_ "thú dzị": trong bài của bạn không có Mã D001 trong tháng T01 ( nếu không sẽ cực hơn tý tẹo)

Trong bài 1 của em Mã D001 trong tháng 1, em không nhập xuất là ý em muốn như trên

Công ty bạn có 4 cái kho đó hay nhiều hơn ???? Nếu nhiều hơn thì phải có cái bảng chứa những em này (152 ==> KHO NGUYÊN VẬT LIỆU, 1561==>KHO HÀNG HÓA, 15 gì đó==> KHO "GÌO ĐÍ"......)
Dạ em chỉ 4 kho, xào đi xào lại chắc đủ sài!
----------------
Lưu ý cho em 1 trường hợp đặc biệt nữa: Ví dụ Công ty mới thành lập tháng 03/2012 (Nghĩa là tháng ba mới bắt đầu có mã Kho (1561, 152,...) và các mã hàng (H001, ...;L001,...) Em vẫn để tồn tại các sheet T00 (của Tháng 12 năm trước) T01, T02 (của tháng 1, 2 năm nay) Nhưng các Mã kho và hàng sẽ không có (nghĩa là các sheet T00, T01, T02 sẽ không có số liệu từ hàng thứ 9 trở xuống) Như vậy, ai có chạy code tại các Sheet T01, T02 sẽ không bị báo lỗi
Em cảm ơn!
 
Upvote 0
1/ Tháng trước tồn cuối kỳ bằng không hay lớn hơn 0 (thậm chí số ÂM), thì vẫn mang sang Tồn đầy kỳ của tháng sau và tương ứng với các nhóm kho (1561, 152...) và các mã hàng (H001, H002, ...L001,..., ...)
2/ Nếu tháng trước chưa có Mã kho 1561 và các mã hàng H001, H002 ... khi qua tháng sau có thêm mã Kho và các mã hàng vừa nói thì Tồn đầu kỳ của nó = 0
Trong Sheet TH không bắt buộc xuất hiện đủ Nhập hay Xuất của các mã H001,..; L001,...; D001, ...; P001.... Bởi vì có những mặt hàng sẽ không nhập hoặc xuất trong một tháng, thậm chí một năm.
Và sẽ có trường hợp đặc biệt như : Tháng 2 là TẾT -> nghĩ mua - bán, do đó bên Sheet TH sẽ không có các dòng phát sinh cho tháng 2, nhưng vẫn có Sheet T02 (như vậy Sheet T02 chỉ có các số liệu như sau: lấy tồn cuối kỳ của T001 làm Tồn đầu kỳ cho T002, Tính "ĐGBQ" cột J (cách tính giống như Công thức của em, để tránh báo lỗi #DIV/0!) và tính tồn cuối kỳ (cột L &M))



Trong bài 1 của em Mã D001 trong tháng 1, em không nhập xuất là ý em muốn như trên


Dạ em chỉ 4 kho, xào đi xào lại chắc đủ sài!
----------------
Lưu ý cho em 1 trường hợp đặc biệt nữa: Ví dụ Công ty mới thành lập tháng 03/2012 (Nghĩa là tháng ba mới bắt đầu có mã Kho (1561, 152,...) và các mã hàng (H001, ...;L001,...) Em vẫn để tồn tại các sheet T00 (của Tháng 12 năm trước) T01, T02 (của tháng 1, 2 năm nay) Nhưng các Mã kho và hàng sẽ không có (nghĩa là các sheet T00, T01, T02 sẽ không có số liệu từ hàng thứ 9 trở xuống) Như vậy, ai có chạy code tại các Sheet T01, T02 sẽ không bị báo lỗi
Em cảm ơn!

Tui không phải dân kế toán, nhưng với "công chuyện" của Excel thì tôi nghĩ như vầy:
_ Cửa hàng tui bán 100 mặt hàng.
_ Mỗi thàng tui thống kê 100 mặt hàng này, thằng nào giao dich bi nhiêu, bi nhiêu? (thằng nào không giao dịch trong tháng đó bỏ qua, không thống kê, không cho nó bằng 0, hổng phải là thống kê.)
_ Làm những chuyện không giống ai, híc! khó làm lắm!
(dù là cò già vẫn làm được)
_



 
Upvote 0
Mình cũng thử viết code nhưng loay hoay mãi hình như hỏng hiểu nên đành dừng lại. Mấy file kế toán này khó nhai quá đi. mà hình như dữ liệu cung cấp ít quá nên thấy thiếu cơ sở để suy đoán.
 
Upvote 0
Tui không phải dân kế toán, nhưng với "công chuyện" của Excel thì tôi nghĩ như vầy:
_ Cửa hàng tui bán 100 mặt hàng.
_ Mỗi thàng tui thống kê 100 mặt hàng này, thằng nào giao dich bi nhiêu, bi nhiêu? (thằng nào không giao dịch trong tháng đó bỏ qua, không thống kê, không cho nó bằng 0, hổng phải là thống kê.)
_
Phần chữ màu đỏ em không hiểu lắm
tháng nào mã nào không phát sinh mua bán thì fần nhập xuất nó bằng 0, nó chỉ có thể tồn hàng đầy kỳ hay cuối kỳ mà thôi, hoặc chỉ tồn tại cái tên trên các sheet T01,... T12 mà thôi
Chữ màu xanh: không cho nó bằng 0 , em cũng không hiểu luôn!
Vì em không biết lập trình nêm không biết chỗ khó của lập trình!
Thầy cứ giúp em viết code theo cách có thể nhất!
Em cảm ơn các thầy & anh chị!
 
Upvote 0
Phần chữ màu đỏ em không hiểu lắm
tháng nào mã nào không phát sinh mua bán thì fần nhập xuất nó bằng 0, nó chỉ có thể tồn hàng đầy kỳ hay cuối kỳ mà thôi, hoặc chỉ tồn tại cái tên trên các sheet T01,... T12 mà thôi
Chữ màu xanh: không cho nó bằng 0 , em cũng không hiểu luôn!
Vì em không biết lập trình nêm không biết chỗ khó của lập trình!
Thầy cứ giúp em viết code theo cách có thể nhất!
Em cảm ơn các thầy & anh chị!

Chắc ý bác Ba Tê muốn là các mục cột A B C D ở sheet kết quả T01 T02,..., là giống nhau và bao hàm tất cả các khoản mục lớn con và giống nhau, khi đó nếu khoản mục nào không có phát sinh trong tháng thì để 0 cái nào có thì đền vào
==> nếu được thế sẽ code nhanh hơn,

------------------

bạn nên cho biết rõ phần cột A B C D - ở các sheet Kết quả T01,T02,... vv Thì là do bạn nhập vào trước hay là muốn code tự động liệt kê ra
-(dĩ nhiên T00 hoặc của tháng trước tháng bắt đầu phải luôn có sẵn cả số liệu)

+ Nếu bạn nhập trước thì phải đảm bảo list đủ các khoản mục phát sinh trong tháng đó
+ Nếu muốn code tự động - thì cần phải chỗ nào cung cấp dữ liệu vào là các tên cụ thể cho cột C (hay là để trống.
 
Upvote 0
Chắc ý bác Ba Tê muốn là các mục cột A B C D ở sheet kết quả T01 T02,..., là giống nhau và bao hàm tất cả các khoản mục lớn con và giống nhau, khi đó nếu khoản mục nào không có phát sinh trong tháng thì để 0 cái nào có thì đền vào
==> nếu được thế sẽ code nhanh hơn,
Ở các cột A, B, C. D chì có thể giống nhau là kho hàng (1561, 152, 153, hay 155) nhưng không thể giống nhau ở các mã hàng con như H099, giả sử tháng 01 không có mã H099 nhưng đến tháng 12 thì phát sinh thêm mã này, lúc đó lại quay về các tháng trước để add mã này vào thì fức tạp

bạn nên cho biết rõ phần cột A B C D - ở các sheet Kết quả T01,T02,... vv Thì là do bạn nhập vào trước hay là muốn code tự động liệt kê ra
-(dĩ nhiên T00 hoặc của tháng trước tháng bắt đầu phải luôn có sẵn cả số liệu)

+ Nếu bạn nhập trước thì phải đảm bảo list đủ các khoản mục phát sinh trong tháng đó
+ Nếu muốn code tự động - thì cần phải chỗ nào cung cấp dữ liệu vào là các tên cụ thể cho cột C (hay là để trống.
Phần cột A, B, C, D của các sheet kết qủa là do em tự nhập tay vào trước khi chạy code
Và code không tự động chạy và nằm trên Module
Em cảm ơn!
 
Upvote 0
Ở các cột A, B, C. D chì có thể giống nhau là kho hàng (1561, 152, 153, hay 155) nhưng không thể giống nhau ở các mã hàng con như H099, giả sử tháng 01 không có mã H099 nhưng đến tháng 12 thì phát sinh thêm mã này, lúc đó lại quay về các tháng trước để add mã này vào thì fức tạp


Phần cột A, B, C, D của các sheet kết qủa là do em tự nhập tay vào trước khi chạy code
Và code không tự động chạy và nằm trên Module
Em cảm ơn!

Nếu thế thì code của bác concogia ở trên #8 có thể ứng dụng được

bạn đã thử chưa, và còn muốn khác thế nào nữa? hay còn tồn tại gì?
 
Upvote 0
Hihi, hiểu thêm tý tẹo
Thử bài này, không biết dữ liệu thật nhiều hông, làm kết quả trên sheet, phải làm đúng đã, có gì tính sau
vodoi2x
Nếu thế thì code của bác concogia ở trên #8 có thể ứng dụng được
Cái này vẫn chưa đủ bạn vodoi2x ạ vì những mã có trong cái sườn của bạn í mà cóc có trong bảng tổng hợp mới....... tèo chứ. Híc, kế với chả toán, chỉ tổ nhức đầu, Ba Tê trốn đâu mất tiêu dzồi, ra đây nhưc đầu chơi
Híc
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom