Nhờ viết code cho bảng tổng hợp nhập xuất tồn có nhiều nhóm hàng. (3 người xem)

Liên hệ QC

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

tranthanhktt

Thành viên chính thức
Tham gia
7/9/10
Bài viết
55
Được thích
20
Chào các bạn ! mình đang gặp chút vấn đề trong file nhập xuất tồn kho, vì file có rất nhiều công thức nên rất nặng, mình đang chuyển qua sử dụng bằng vba nhưng mà chưa biết viết code cho bảng tổng hợp NXT cónhiềunhómhàng như thế nào. Rất mong các bạn giúp đỡ . Cám ơn nhiều.
 

File đính kèm

Bạn xem trong file kèm theo

Vì file có rất nhiều công thức nên rất nặng,
mình chưa biết viết code cho bảng tổng hợp NXT cónhiềunhómhàng như thế nào. Rất mong các bạn giúp đỡ . Cám ơn nhiều.

Tạm vậy để kiểm kết quả đã nha; Có thể hoàn chỉnh tiếp, một khi kết quả mĩ mãn.
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn! nhưng mà nó chưa hoàn toàn đúng ýcủa mình, bạn có thể giúp thì giúp cho chótkhông? ý mình là khi mình muốnthêm mã mới nó sẽ ghi ở dòng tiếp theo mà không theo nhóm hàng ,khi tổnghợp nó sẽ tfm và nằmđúng với nhóm đó căn cứ vào 3 kýtự đầu . đồngthời ở bảng tổnghợp những nhóm hàngcấp 1 sẽ tô màu đồng thời có gạchliền ,nhóm hàng cấp 2 có gạchđứt.dòngtổng cộng là tổng củanhóm hàngcấp 2. làm coppy dữliệu từ sheet ma như của bạn ta phảithiết kế 1 form thêm mặt hàng và khi ghi nó phải dò tìm đến hàng cuối cùngcủanhóm tương ứng và Isert them một dòng, như vậy không biết có làm được không nhỉ?. rất mong đươc sự giúp đỡ của bạn.
 
Upvote 0
/-(ình như bạn chưa kịp đọc các dòng lệnh trong macro thì fải?!

Trong đó có dòng:
Mã:
 RgS.Copy Destination:=[A7]

Là macro sẽ chép dữ liệu có ở trang 'Ma' sang trang 'TgHop' trước khi xem xét & xử lí dữ liệu từ trang 'Data'

Giờ bạn muốn thêm các loại hàng hoá khác nữa, ta chỉ việc đến trang 'Ma' & thêm dòng vô chỗ thích hợp & nhập nội dung mới vô thôi.

Chỉ xin chú í 1 điều: Khi hơn 45 mặt hàng thì fải thiết chế lại trang 'TgHop' cho có đủ số dòng để nó đảm bảo chứa hết dữ liệu.

(Xin gởi file mới đây)
 

File đính kèm

Upvote 0
Trong đó có dòng:
Mã:
 RgS.Copy Destination:=[A7]

Là macro sẽ chép dữ liệu có ở trang 'Ma' sang trang 'TgHop' trước khi xem xét & xử lí dữ liệu từ trang 'Data'

Giờ bạn muốn thêm các loại hàng hoá khác nữa, ta chỉ việc đến trang 'Ma' & thêm dòng vô chỗ thích hợp & nhập nội dung mới vô thôi.

Chỉ xin chú í 1 điều: Khi hơn 45 mặt hàng thì fải thiết chế lại trang 'TgHop' cho có đủ số dòng để nó đảm bảo chứa hết dữ liệu.

(Xin gởi file mới đây)
Xin anh nói rõ hơn về
Destination:=[A7] (lý thuyết)
Cảm ơn anh.
 
Upvote 0
Xin anh nói rõ hơn về
Destination:=[A7] (lý thuyết)
Cảm ơn anh.
Khi sử dụng các phương thức Cut hay Copy thì Destination là tham số. Tham số này sẽ chỉ đến địa chỉ ( 1 ô hoặc khối ô ) mà bạn muốn di chuyển ( khi dùng Cut) hoặc sao chép (khi dùng Copy) đến
Đơn giản như mình "đang giỡn" vậy mà
+-+-+-+:=\++-+-+-+Híc
 
Upvote 0
cảm ơn bạn! nhưng như vậy rất bất tiện mỗi khi thêm mã mình lại phải insert thêm một dòng ngay cuối mỗi nhóm, và nếu nhiều hơn 49 mã lại phải insert ở sheet tong hop. bảng mã trên chỉ là vd thôi, ý mìnhmuốn khi phát sinh thêm mã mới mình cứ nhập tiếp theo ở dòng cuối mà không cần theo thứ mỗi nhóm như vd . khi tổng hợp nó sẽ coppy dữ liêu từ nhóm hàng trước bắt đầu từ ô H2 chuyển sang tổng hợp sau đó tham chiếu qua vùng mã lấy 3 ký tự đầu của vùng mã hàng= 3 kýtự của nhómhàng thì chuyển sang tổng hợp sau đó tiếp tục lấy nhóm dữ liệu kế tiếp của ô H3 và cư như vậy đến ô H...n.
 
Upvote 0
nhờ viết code cho bảng tổng hợp nhập xuất tồn

Chào các bạn, mình nhờ các bạn cao thủ trên diễn đàn viết dùm code tổng hợp NXT theo thóm hàng. Nếu không theo thứ tự nhóm thì mình làm được rồi, nhưng sếp mình muốn báo cáo có luôn nhóm hàng. mìnhloay hoay mãi mà chưa viết được ,mong các bạn giúpdỡ. cảmơn
 

File đính kèm

Upvote 0
Trong trường hợp số lượng mã hàng của bạn không quá nhiều, có thể làm theo cách này. Không cần dùng code gì cả. Chịu khó copy tí thôi.
 
Upvote 0
không bạn ạ. Nếu làm công thức thì mình đang làm ,nhưng mà mình có hơn 2000 mã hàng, làm công thức file chạyh rất chậm. mình cũng làm code được rùi nhưng mà nó không sắp xếp thứ tự theo mã hàng được.
 
Upvote 0

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình rất thích bản này vì nó đơn giản và phù hợp.
Mình down bản của các bác về và sửa lại cho phù hợp hơn với loại hình bán ở cửa hàng mình thì có 1 số chi tiết sau cần sự giúp đỡ của các bác:
- Trong sheet TONGHOP hiện lên được số cây nhập xuất tồn rồi, bây giờ làm sao để hiện lên dc là tồn những cây màu nào dc không?. Trong sheet Data mình đã thêm cột Màu để ghi rõ mình nhập- xuất bao nhiêu cây màu gì rồi
Xin các bác giúp đỡ tạo thêm cho mình 1 cột Màu trong sheet TONGHOP, sử dụng công thức nào để mình thực hiện dc việc trên với ạ! Mình xin gửi file lên cho các bác giúp!
 

File đính kèm

Upvote 0
bạn SA_QD làm cách này rất hay nhưng mà còn một vấn đề nhỏ nhờ bạn sửa lại dùm! đó là khi mình đặt mã mà ở bất kỳ hàng nào trùng với mã của 1 nhóm nào đó thì nó sẽ chạy bậy ngay: vd khi ta đặt mã :00501001 thì khi chạy code nó sẽ chạy vào cả nhóm 001 và nhóm 005 thay vì chỉ chạy vào nóm 005 thôi vì nó có 3 ký tự cuối trùng với nhóm 001. tương tự nếu ta đặt mã 00500101 thì kết quả cũng vậy vì 3 ký tự giữ trùng với nhóm 001.
Bạn nghiên cứu sửa lại dùm mình nhé ! cám ơn!
 

File đính kèm

Upvote 0
Mình hướng dẫn bạn sửa trong macro nhe:

Trong macro đầu, bạn sẽ thấy 3 dòng lệnh sau:

Mã:
            With Cells(r0, "A").End(xlUp).Offset(1)
                sRng.Resize(, 6).Copy Destination:=.Offset(0)
            End With

(Vì 2 dòng lệnh trong nớ có With là không cần thiết, tiện sửa luôn)
Bạn chép đè 3 dòng lệnh này lên chúng:

PHP:
            If Left(sRng.Value, 3) = Cls.Value Then
                sRng.Resize(, 6).Copy Destination:=Cells(r0, "A").End(xlUp).Offset(1)
            End If

Mong là bạn tự ên được & chúc thành công!
 
Upvote 0
cám ơn bạn rất nhiều ! nhưng mà còn chút vấnđề nữa nhờ bạn sửa giúp .trong code của bạn có đoạn:
Cls.Offset(, 10).Value = Cls.Offset(, 4).Value + _
Cls.Offset(, 6).Value - Cls.Offset(, 8).Value
Cls.Offset(, 11).Value = Cls.Offset(, 5).Value + _
Cls.Offset(, 7).Value - Cls.Offset(, 9).Value
CT như vậy thấy đúng rùi nhưng không biết sao ở cột tồn cuối kỳ nếu mã nào có phát sinh số liệu thì nó mới chuyển số tồn,những mặt hàng nào không có PS thi nó không chuyển, trong khi có một số mặt hàng không có phát sinh nhưng có tồn đầu kỳ thì phải chuyển số đầu kỳ đó sang cột tồn cuối kỳ .Nhờ bạn sửa giúp. Chúc bạn sức khỏe, vui ve. Cám Ơn
 
Upvote 0
. . . .Nhưng không biết sao ở cột tồn cuối kỳ nếu mã nào có phát sinh số liệu thì nó mới chuyển số tồn,những mặt hàng nào không có PS thi nó không chuyển, trong khi có một số mặt hàng không có phát sinh nhưng có tồn đầu kỳ thì phải chuyển số đầu kỳ đó sang cột tồn cuối kỳ .Nhờ bạn sửa giúp. Chúc bạn sức khỏe, vui ve. Cám Ơn

Bạn thêm dòng lệnh này vô bên trên dòng End If vừa mới thêm vào, nha

Cells(r0, "C").End(xlUp).Offset(, 8).Resize(, 2).Value = sRng.Offset(, 4).Resize(, 2).Value

(Nhưng với 1 iêu cầu là trường 'ĐVT' của trang 'Ma' luôn có đủ dữ liệu.)
 
Upvote 0
Cám ơn bạn! Sau khi được bạn giúp và "lượm lặt" trên diễn đàn mình đã "chắp vá" được một chiếc "áo rách " dùng đỡ cho mùa đông ,mình đưa lên diễn đànđể các bạn cùngtham khảo. Do không phải dân chuyên về VBA nên code trong file còn sơ khai và lũng củng lém nên file còn khá nặng, đây chỉ là ý tưởng thôi, nhờ các bác cao thủ nếu có thể chỉnh sửa dùm để file chạy nhẹ hơn. chúc cả nhà vui vẻ
 

File đính kèm

Upvote 0
Quả là công trình đồ sộ chứ chẳng chơi!

Nhưng không tránh khỏi còn lỗi; Mình fát hiện ra sơ bộ 2 lỗi,. . .

Chắc fần trên bạn vừa hỏi là fần cuối cùng để hoàn thành tác fẩm?

Có lẻ vầy đi:

Bạn tách ra từng file nhỏ theo từng công việc & đưa lên; Chắc sẽ có người giúp bạn tu sửa cho tác fẩm diêm dúa & đẹp đẽ hơn;

Bạn nghĩ sao?
 
Upvote 0
đúng vậy. như mình đã nói ở trên mình chưa bao giờ học vba cả chỉ mới mày mò đây thôi chủ yếu tải file mẫu về xem bắt trước thôi,nên bạn có phát hiện sai chỗ nào góp ý dùm để fie chay ok hơn. Cámơn
 
Upvote 0
Web KT

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

Back
Top Bottom