Quản lý xuất nhập máy móc từng phân xưởng

Liên hệ QC

saochieumenh

Thành viên mới
Tham gia
17/6/13
Bài viết
7
Được thích
0
Hiện tại em đang làm một cái topic để quản lý số lượng máy móc trong từng phân xưởng. Máy móc rất nhiều loại.Em có số liệu máy móc tại 1 thời điểm cố định. Trong công ty liên tục phải chuyển máy móc từ nơi này sang nơi khác.
Hiện tại em chưa pít phải làm thế nào, em không rành về lập trình vba lắm
Pro làm giúp em một cái form gồm tên thiết bị, nơi chuyển, nơi nhận, số lượng sau đó mình chọn xong rồi bấm chuyển thì nó sẽ tự động cập nhập lại số lượng tùy theo nơi nhận và nơi giao của mình nơi nhận sẽ tự động tăng số lượng máy chuyển còn nơi giao sẽ giảm đi tương ứng.

Như vậy sau này em sẽ dễ dàng quản lý được số lượng loại máy ở từng phân xưởng mà bổ sung thiếu hay thừa.
Em xin gửi 1 cái file mẫu cho cái bác dễ hình dung
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn hỏi về cách thiết kế thành lập quy trình thực hiện hay hỏi về code VBA để thực hiện quy trình đã được bạn thiết kế như trên?

Quy trình thiết kế như bạn diễn tả ở trên không kiểm soát nổi máy móc thiết bị chuyển qua lại giữa các phân xưởng.
 
thanks bạn đã cho ý kiến, bạn có thể cho mình một hướng giải quyết và có thể cho mình một số code vba mẫu để giải quyết vấn đề trên không?
 
Một tháng chuyển máy mấy lần? Mỗi lần bao nhiêu loại máy? Mỗi loại máy dùng chứng từ riêng hay gộp chung?
(tôi kỵ từ thanks lắm, người Việt với nhau xài cám ơn không được sao?)
 
hì! hầu như ngày nào cũng chuyển, dùng một chứng từ chung luôn, chứng từ nó rất đơn giản bao gồm tên thiết bị nơi chuyển nơi nhận và số lượng. Ban đầu mình có một số lượng máy cố định ở mỗi xưởng chuyển qua chuyển lại nó tự động cập nhập theo nơi giao nơi nhận là được. Mình mới nghiên cứu cái vba nên chẳng biết viết làm sao. Bạn giúp mình làm cái form chuyển máy tí nha. Mình tham khảo cái code rồi viết lại. Cám ơn bạn!
 
Công việc gồm có hai phần, phần khởi chuyển và phần kết chuyển.

Để thực hiện khởi chuyển khi thiết bị chuẩn bị rời nơi đi, làm một cái form có nhiệm vụ sau:

1. Text box nhập số chứng từ. Xét xem số chứng từ có hợp lệ. Mở dropdownlist chọn nơi đi, và dropdownlist chọn nơi đến.
2. Mở thêm một hàng trong form gồm textbox nhập mã thiết bị, một textbox hiển thị tên thiết bị, và một để nhập số lượng
2.1 Sau khi nhập mã thiết bị thì hiển thị tên thiết bị (để kiểm soát lại), và tra bảng thiết bị xem có tồn kho ở nơi đi hay không.
2.2 Sau khi kiểm soát thì cho nhập số luợng - giới hạn tối đa là tồn kho của bảng nơi đi
2.3 Sau khi nhập số lượng thì Vòng lại bước 2. để nhập thiết bị kế tiêp. Nếu click "kết thúc" thì qua bước 3.
3. Click nút "Huỷ" thì bỏ hết, Click nút "Tiến Hành" thì bắt đầu làm việc ghi chép ở bước 4.
4. Ghi chi tiết bảng "Chứng Từ Chuyển" với số liệu trên. Ký hiệu nó ở trạng thái "đang chuyển" và ghi ngày khởi xướng
5. Cập nhât bảng tồn kho, ghi số lượng chuyển sang một cột khác đặt tên là "đang chuyển". Nếu cột này đã có sẵn thì cộng số lượng vào (vì có thể có nhiều chứng từ chuyển khác nhau). Trừ số lượng chuyển ra khỏi số tồn kho.

Để thực hiện kết chuyển sau khi thiết bị đã được nhập vào nơi đến, làm một cái form như sau:

1. Vào bảng Chứng Từ Chuyển, chọn đúng chứng từ này
2. Hiển thị dữ liệu lên form để xem lại
3. Nếu click "Kết" thì tiên hành qua bước 4.
4. Với mối thiết bị, dùng số lượng trong chứng từ, cập nhật tồn kho nơi đến và số lượng đang chuyển của nơi đi
5. Ghi ký hiệu Chứng Từ Chuyển ở trạng thái "Đã Chuyển" và ghi ngày kết.

Hết

Đây chỉ là quy trình căn bản. Nếu muốn làm thực thụ thì còn rất nhiều chi tiết mà người thiết kế phải theo dõi làm việc ở cơ quan một thời gian mới biết hết được.

Tôi lười viết code lắm. Nếu bạn viết code thì tôi có thể cho biết code đã đạt yêu cầu chưa.
 
Lần chỉnh sửa cuối:
cám ơn anh! Chính xác là em đang cần như vậy!!! mà code với các bước tiến hành thì em chưa biết gì cả? a có một số file đã lập trình với yêu cầu gần giống như trên với một số tài liệu lập trình liên quan có thể cho em tham khảo nghiên cứu không anh!!
 
Hiện tại em đang làm một cái topic để quản lý số lượng máy móc trong từng phân xưởng. Máy móc rất nhiều loại.Em có số liệu máy móc tại 1 thời điểm cố định. Trong công ty liên tục phải chuyển máy móc từ nơi này sang nơi khác.
Hiện tại em chưa pít phải làm thế nào, em không rành về lập trình vba lắm
Pro làm giúp em một cái form gồm tên thiết bị, nơi chuyển, nơi nhận, số lượng sau đó mình chọn xong rồi bấm chuyển thì nó sẽ tự động cập nhập lại số lượng tùy theo nơi nhận và nơi giao của mình nơi nhận sẽ tự động tăng số lượng máy chuyển còn nơi giao sẽ giảm đi tương ứng.

Như vậy sau này em sẽ dễ dàng quản lý được số lượng loại máy ở từng phân xưởng mà bổ sung thiếu hay thừa.
Em xin gửi 1 cái file mẫu cho cái bác dễ hình dung
Bạn tham khảo Code này. Code này có thể tạo vùng chuyển cho nhiều dòng cùng 1 lúc, theo ghi chú bạn có thể tùy biến và áp dụng.
Mã:
Sub Chuyen()
Dim sRng As Range
Dim cRng As Range
Dim Cls As Range
Dim rFind As Range
Dim cFind As Range
Dim dFind As Range
'Thiet lap vung du lieu
Set sRng = Range("A5:G" & Range("A65536").End(3).Row)
'Thiet lap vung chuyen
Set cRng = Range("K5:K" & Range("K65536").End(3).Row)
'Duyet qua cac gia tri chuyen
For Each Cls In cRng
    'Tim kiem dong tuong ung gia tri Cls
    Set rFind = sRng.Find(Cls, LookIn:=xlFormulas, Lookat:=xlWhole)
    'Tim cot tuong ung vi tri chuyen di
    Set cFind = sRng.Find(Cls.Offset(, 1), LookIn:=xlFormulas, Lookat:=xlWhole)
    'tim cot tuong ung vi tri chuyen den
    Set dFind = sRng.Find(Cls.Offset(, 2), LookIn:=xlFormulas, Lookat:=xlWhole)
    'Tinh toan
    'Chuyen di
    Cells(rFind.Row, cFind.Column) = Cells(rFind.Row, cFind.Column) - Cls.Offset(, 3)
    'Chuyen den
    Cells(rFind.Row, dFind.Column) = Cells(rFind.Row, dFind.Column) + Cls.Offset(, 3)
Next
End Sub
 
Cám ơn anh dhn46!
Em mới hiểu một phần code của a thôi!!!
Thiết lập vùng chuyển là sao em vẫn không hiểu với giá trị Cls là như thế nào!!! Em có thêm một file excel mới ở trên anh xem lại dùm giúp em!!!
 
Cám ơn anh dhn46!
Em mới hiểu một phần code của a thôi!!!
Thiết lập vùng chuyển là sao em vẫn không hiểu với giá trị Cls là như thế nào!!! Em có thêm một file excel mới ở trên anh xem lại dùm giúp em!!!
Thử với code này xem
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range, Cot1 As Long, Cot2 As Long
For Each Cll In [C5:G5]
    If Cll.Value = [L5].Value Then Cot1 = Cll.Column - 2
    If Cll.Value = [M5].Value Then Cot2 = Cll.Column - 2
Next
Set Rng = Range([B6], [B65000].End(xlUp))
For Each Cll In Rng
    If Cll.Value = [K5].Value Then
        Cll.Offset(, Cot1) = Cll.Offset(, Cot1) - [N5]
        Cll.Offset(, Cot2) = Cll.Offset(, Cot2) + [N5]
        [K5:N5].ClearContents
        MsgBox "Da Ghi xong", , "GPE"
        Exit For
    End If
Next
End Sub
 

File đính kèm

Thử với code này xem
PHP:
Public Sub GPE()
Dim Rng As Range, Cll As Range, Cot1 As Long, Cot2 As Long
For Each Cll In [C5:G5]
    If Cll.Value = [L5].Value Then Cot1 = Cll.Column - 2
    If Cll.Value = [M5].Value Then Cot2 = Cll.Column - 2
Next
Set Rng = Range([B6], [B65000].End(xlUp))
For Each Cll In Rng
    If Cll.Value = [K5].Value Then
        Cll.Offset(, Cot1) = Cll.Offset(, Cot1) - [N5]
        Cll.Offset(, Cot2) = Cll.Offset(, Cot2) + [N5]
        [K5:N5].ClearContents
        MsgBox "Da Ghi xong", , "GPE"
        Exit For
    End If
Next
End Sub
cảm ơn anh rất nhiều!!! code này đúng như yêu cầu của em cần!!! hôm sau có gì sẽ trao đổi với mấy anh sau
 
Web KT

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

Back
Top Bottom