Hiện thông báo khi số lượng xuất lớn hơn số lượng tồn cuối (1 người xem)

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

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

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
722
Được thích
57
Giới tính
Nam
Em có file đính kèm, mong các AC giúp đỡ. Ở Sheet "TongHop" em muốn luôn cập nhật theo sheet"chitietnhap" và sheet"chitietxuat" để khi xuất hàng ở Sheet"PX" mà Số lượng tồn < Số lượng xuất thì hiện MgsBox"số lượng tồn không đủ để xuất" và quay lại số lượng xuất đó dể chỉnh(Nếu được có thể nói rỏ số lượng tồn là bao nhiêu vào thời điểm đó để chỉnh).

Nhờ Các AC giúp đỡ, ở sheet "TongHop" sử dụng sự kiện gì để tự động cập nhật "Ngầm" theo hai sheet"Chitietnhap" và "chitietxuat", chứ sử dụng sự kiện "Active" thì chỉ khi chọn sheet"TongHop" thi mới cập nhật. Từ sự cập nhật "ngầm" đó, mà số lượng "tồn cuối" mà < số lượng xuất thì có thông báo. Mong các AC giúp đỡ.

Em nghĩ chắc vấn đề này trong Excel không giải quyết được, chứ trong access thì có thể chắc được. Em có search trên google thi ben access có link này mong các AC tham khảo.http://thuthuataccess.com/forum/thread-5885.html

Mong các AC giúp cho. Có thể đổi tên Sub Worksheet_Activate(ở Sheet TongHop) thành Sub TongHop và chèn vào Sub phieuxuat rồi tìm già trị của mặt hàng nào có TonCuoi nhỏ hơn SL xuất thì thông báo. Được không Các AC??? Mong các AC giúp.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
May quá, Thầy ChanhTQ đã giúp. Cám ơn Thầy nhiều.
 
Upvote 0
Sao em mở sheet "TongHop" nó cứ đòi Update Value: chitietnhap, vậy Thầy. Em cũng chả thấy hiện thông báo Sl xuất lớn hơn SL tồn vây Thầy. Mong Thầy giúp đỡ.
 
Upvote 0
Sao em mở sheet "TongHop" nó cứ đòi Update Value: chitietnhap, vậy Thầy. Em cũng chả thấy hiện thông báo Sl xuất lớn hơn SL tồn vây Thầy. Mong Thầy giúp đỡ.

À, là do mình lại chơi cái trò đổi tên trang tính đó, nên nó hỏi vậy đó; Xin lỗi về chuyện này.

Ở trang 'PX' bạn cứ nhập 1 tên hàng vố vùng nền xanh, sẽ biết lượng hàng bạn đang có trong kho;
Căn cứ vô đó mà bạn viết fiếu xuất cho #h hàng.
 
Upvote 0
Vẫn bị lỗi ở chỗ này Thầy ơi:
Hang = WF.VLookup(Target.Offset(, -1).Value, Rng, 4, False)

Cho nó hiện thông báo khi số lượng xuất lớn hơn số lượng tồn được không Thầy???
 
Upvote 0
(1) (/ẫn lỗi ở chỗ này Thầy ơi:
Hang = WF.VLookup(Target.Offset(, -1).Value, Rng, 4, False)

(2) Cho nó hiện thông báo khi số lượng xuất lớn hơn số lượng tồn được không Thầy???

(1) Câu lệnh đó là dùng hàm VLOOKUP() để tra số tồn từ đầu năm

(2)Cách của bạn là nhập vô fiếu xuất lượng hàng' Nếu thiếu sẽ cảnh báo;

Còn trong macro thì báo trước khi bạn nhập số lượng hàng còn trong kho; Mình cho rằng vậy vẫn hơn: Vì biết quá thì khỏi nhập; Đỡ tốn năng lượng cho bạn mà chưa chịu ư?
Nếu thích theo thói quen mình thì tự mà làm lấy đi! /(hà. Khà, khà,. . . . .
 
Upvote 0
Lúc nhấn CommandButton "LUU" là bị lỗi đó. Mong các AC giúp đỡ.

Em thấy Số Lượng tồn ở cột Ghi Chú ở sheet "PX" chưa đúng. Ví dụ như mặt hàng "Cát Xây" tôn 31/12/2013 là 15, nhập kho là 5120, không có xuất, thế thì tồn cuối ở cột "ghi chú" phải là 5235 chứ sao lại là 115 . Mong các AC và Thầy coi lại.(Ah mà cột DVT sao giờ không chạy theo mặt hàng nữa vậy)

số lượng tồn ở cột"Ghi Chú" sai là do chưa trừ "xuất",và còn cái lạ nữa là sao cột mã số ở sheet "PX" bị sai một số mặt hàng. Ví dụ như mặt hàng"Xi măng Hà Tiên""Tôn trắng 3 Ly" có chung mã số là"TTR3L" , "Tôn màu 2 Ly""Tôn Lạnh" có chung mã số là "TL" Mặc dù ở sheet"DM" mã số không có trùng. Mong các AC giúp đỡ!!!!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Em thấy Số Lượng tồn ở cột Ghi Chú ở sheet "PX" chưa đúng. Ví dụ như mặt hàng "Cát Xây" tôn 31/12/2013 là 15, nhập kho là 5120, không có xuất, thế thì tồn cuối ở cột "ghi chú" phải là 5235 chứ sao lại là 115 . Mong các AC và Thầy coi lại.(Ah mà cột DVT sao giờ không chạy theo mặt hàng nữa vậy)

Bạn xem thử tại ô [C3] của trang 'PX' đang đề là ngày bao nhiêu vậy?

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Còn khối lượng xuất thì chưa fải ở cột [F:F] nên chưa cho giá trị nào cả;

Cái này tại cả 2 ta; Bạn cần thiết kế để 2 cột giá trị nhập & xuất này cùng trên 1 cột; Có vậy mới tự động hóa được.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Vậy còn dzụ "mã Số" trùng thì sao hả bạn?? Có thể chèn thêm cột[H:H] vào trong code được không bạn???
 
Upvote 0
Đành chọn từ mã hàng vậy; Không đúng thì chọn lại mã khác

[Thongbao]Vậy còn dzụ "mã Số" trùng thì sao hả bạn?? Có thể chèn thêm cột[H:H] vào trong code được không bạn???[/Thongbao]
 

File đính kèm

Upvote 0
Bạn có thể giúp mình vấn đề khi biết số lượng tồn kho rồi thì xuất hàng bằng cách nhấn nút "LUU" thì bị lỗi. Mong bạn giúp!!!!
 
Upvote 0
Bạn có thể giúp mình vấn đề khi biết số lượng tồn kho rồi thì xuất hàng bằng cách nhấn nút "LUU" thì bị lỗi. Mong bạn giúp!!!!

Bạn sau khi nhấn nút "Luu" thì báo lỗi, nhưng mình nhấn nút nó có báo lỗi dì đâu?!

Chỉ có điều là nó chép vô tầm bậy cột mà thôi;

Với lại mình góp í với bạn 2 í ngoài lề nè:

(1) Các câu lệnh trong VBA nên thụt đầu dòng 1 cách thẳng thớm; Í mình nói là câu lệnh For . . . được bạn bắt đầu từ cột số 3; Thì Next của chính nó cũng nên bắt đầu từ cột số 3; Để làm chi vậy? Chỉ bạn tự không làm hoa mắt bản thân mà thôi!

(2) Một fiếu xuất chỉ khoảng mươi dòng thì làm chi cần đến biến mảng ghê vậy?
Theo mình cứ For . . . Next mà quất tới cho rồi!

Trong macro bạn có dùng câu lệnh:
Mã:
Rngs = .Range(.[B8], .[B65000].End(xlUp)).Resize(, 4).Value

Nhưng theo mình; ta nên xài câu lệnh

PHP:
Rngs = .Range(.[B8], .[B8].End(xlDown)).Resize(, 4).Value

Bạn có thể hỏi: Làm chi vậy?

Xin thưa: Cần rèn tính cẩn thật cho ai đó khi lập fiếu xuất cho bạn!

Vài lời trao đổi cùng bạn!
 
Upvote 0
Sao máy em vẫn bị lỗi khi nhấn nút "LUU". Nó báo lỗi :
Run-Time Eror "13"
Type mismatch
Nhấn Debug thì hiện dòng:
Hang = WF.VLookup(Target.Value, Rng, 4, False) bị tô màu vàng.
Mong các AC giúp đỡ!!!!
 
Upvote 0
Vậy thì thực hiện bẩy lỗi theo cách sau

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
 On Error GoTo L1004
 If Not Intersect(Target, Range("B8:B18")) Is Nothing Then
    Dim WF As Object, Sh As Worksheet, Rng As Range
    Dim J As Byte, Rws As Long, Hang As Double
    Dim ShName As String
    
    Set WF = Application.WorksheetFunction
    Set Sh = ThisWorkbook.Worksheets("DM")
    Rws = Sh.[b4].CurrentRegion.Rows.Count
    Set Rng = Sh.[b3].Resize(Rws, 4)
    Hang = WF.VLookup(Target.Value, Rng, 4, False)
    Target.Offset(, 1).Value = WF.VLookup(Target.Value, Rng, 2, False)
    Target.Offset(, 2).Value = WF.VLookup(Target.Value, Rng, 3, False)
    For J = 1 To 2
        ShName = "CT" & Choose(J, "Nhap", "Xuat")
        Set Sh = ThisWorkbook.Worksheets(ShName)
        Sh.[ab2].Value = Target.Value
        Set Rng = Sh.[b4].CurrentRegion
        Hang = Hang + (-1) ^ (J + 1) * WF.DSum(Rng, Sh.[F3], Sh.[AA1:AC2])
    Next J
    Target.Offset(, 4).Value = Hang
 End If
GPE:                                                 Exit Sub
L1004:
 If Err = 1004 Or 13 Then
    Exit Sub
 Else
    MsgBox Err:                                   Resume GPE
 End If
End Sub
 
Upvote 0
Bây giờ thì hết báo lỗi rồi, nhưng chép vô tầm bậy cột Thầy ơi. Cám ơn Thầy!!!!
 
Upvote 0
Chuyện này hoàn toàn do bạn thôi; Tự mà sửa đi!
 
Upvote 0
Thầy giúp em với, chứ em đâu có biết gì về VBA đâu.
 
Upvote 0
. . giúp em với, chứ em đâu có biết gì về VBA đâu.

Đâu có cần gì VBA mới sửa được!

Trình tự các tiêu đề trường của bạn đang có trat tư không giống ai!
Này nha:

...|Đơn hàng|Mã Hàng|SL Thực xuất| Tên hàng hóa|ĐVT

macro của bạn đang nhập 'Tên hàng hóa' vô [Thực xuất];
Đơn vị tính vô [Tên hàng hóa] & số lượng hàng vô [ĐVT]

Bạn nên dời lại đúng theo thông lệ quốc tế đi thôi
 
Upvote 0
Em đã chỉnh các trường lại cho đúng, cũng vẫn còn chép lộn xộn Thầy Ơi.
 
Upvote 0
Cám Ơn Thầy, Em đang thử. Mà thầy làm chắc đúng rùi :)) Em cám ơn ạ/-*+/:-=
 
Upvote 0
Đúng cái nớ, nhưng trật cái khác;

Cám Ơn Thầy, Em đang thử. Mà thầy làm chắc đúng rùi :)) Em cám ơn ạ/-*+/:-=

Đó là chỉnh lại câu lệnh này trong macro sự kiện mới được

PHP:
        Hang = Hang + (-1) ^ (J + 1) * WF.DSum(Rng, IIf(J = 1, Sh.[F3], Sh.[H3]), Sh.[AA1:AC2])
 
Upvote 0
Cám ơn Thầy đã quan Tâm giúp em!!!! Thầy chỉnh chổ nào mà hay thế. Thầy có thể chỉ cho em biết không???(Chổ mà chép tầm bậy ấy)

Cám Ơn Thầy và các AC đã giúp em, Nhưng file gốc của em ở sheet"PX" Cell C8 dùng TextBox1 và ListBox1 để chọn mặt hàng cho nhanh. Bây giờ không còn nữa . Mong các Thầy và Các AC giúp em với.!!!!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Nhờ Các AC giúp đỡ, ở sheet "TongHop" sử dụng sự kiện gì để tự động cập nhật "Ngầm" theo hai sheet"Chitietnhap" và "chitietxuat", chứ sử dụng sự kiện "Active" thì chỉ khi chọn sheet"TongHop" thi mới cập nhật. Từ sự cập nhật "ngầm" đó, mà số lượng "tồn cuối" mà < số lượng xuất thì có thông báo. Mong các AC giúp đỡ.
Tôi làm theo yêu cầu của bạn từ bài #2, Chỉ hiện Msgbox khi số xuất > số tồn trong sheet Tonghop.
Muốn tự cập nhật "ngầm" gì đó như bạn nói thì gán công thức luôn vào sheet Tonghop, nó sẽ cập nhật "ngầm" cho bạn.
VBA sẽ gán thêm mã mới và công thức vào sheet Tonghop cho bạn khi bạn bấm nút Cập Nhật trong Form Danh Mục Hàng Hóa , và cũng "cập nhật lại" khi sheet Tonghop Active cho vui (Đề phòng bị xóa khơi khơi)
Còn các chuyện khác của bạn tôi vẫn giữ nguyên, chạy đúng sai, nhanh chậm là do bạn.
 

File đính kèm

Upvote 0
Dạ Cám Ơn Thầy BaTê, không ngờ bài của em được nhiều Thầy quan Tâm(Thầy Chanh-TQ, Thầy SA-DQ, Thầy BaTê, Bạn HaiYen17) Em rất rất cám Ơn Các Thầy và AC. Bài mới của Thầy BaTê đúng với ý của em ban đấu rồi. Nhưng khi báo Số lượng rồi thì quay lại Cell SL Thực xuất để chỉnh lại SL được không Thầy(Của Thầy là Xóa luôn quay về Cell C3)
 
Upvote 0
Dạ Cám Ơn Thầy BaTê, không ngờ bài của em được nhiều Thầy quan Tâm(Thầy Chanh-TQ, Thầy SA-DQ, Thầy BaTê, Bạn HaiYen17) Em rất rất cám Ơn Các Thầy và AC. Bài mới của Thầy BaTê đúng với ý của em ban đấu rồi. Nhưng khi báo Số lượng rồi thì quay lại Cell SL Thực xuất để chỉnh lại SL được không Thầy(Của Thầy là Xóa luôn quay về Cell C3)
Vậy thì bạn tìm trong Private Sub Worksheet_Change() của sheet PX, chỉnh lại như sau:
PHP:
Application.EnableEvents = False
            'Bo dong nay ------->.Offset(, -3).Resize(, 4).ClearContents
            Target.ClearContents    '<----Thay bang dong nay
            Target.Select
        Application.EnableEvents = True
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom