Nhathuy2012
Thành viên mới
- Tham gia
- 13/8/17
- Bài viết
- 41
- Được thích
- 0
- Giới tính
- Nam
Bạn thử dùng code sau cho Sheet1Như tiêu đề bài viết. Em có vấn đề này nhờ Anh chị giúp đỡ.
Khi mình cấp vật liệu nếu lượng Remain > 0 thì sẽ hiển thị thông báo giữa màn hình làm việc dạng : Line (2) cấp quá số lượng (10)
Anh chị nào giúp em code vba với ạ.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cll As Range
If Intersect(Target, Range("E2", Range("E2").End(xlDown))) Is Nothing Then
For Each Cll In Range("E2", Range("E2").End(xlDown))
If Cll.Value > 0 Then
MsgBox "Line (" & Cll.Offset(, -4).Value & ") cap qua so luong (" & Cll.Value & ")", vbCritical
End If
Next Cll
End If
End Sub
Bạn thử với:Như tiêu đề bài viết. Em có vấn đề này nhờ Anh chị giúp đỡ.
Khi mình cấp vật liệu nếu lượng Remain > 0 thì sẽ hiển thị thông báo giữa màn hình làm việc dạng : Line (2) cấp quá số lượng (10)
Anh chị nào giúp em code vba với ạ.
Sub abc()
Dim Cll As Range
For Each Cll In Range("E2:E1000")
If cll > 0 Then MsgBox " Line (" & cll.Offset(, -4).Value & ") cap qua so luong " & cll.Value
Next
End Sub
Em chép vào sheet sao k chạy được bác nhiBạn thử với:
PHP:Sub abc() Dim Cll As Range For Each Cll In Range("E2:E1000") If cll > 0 Then MsgBox " Line (" & cll.Offset(, -4).Value & ") cap qua so luong " & cll.Value Next End Sub
Bạn muốn nó tự động chạy phải chép đoạn dưới đây vào Sheet1:Em chép vào sheet sao k chạy được bác nhi
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2:E1000")) Is Nothing Then
abc
End If
End Sub
Trước lệnh này em có 1 lệnh. Nên em gõ lệnh này vào nó báo lỗi worksheet.change bác ạ. Em đang gà mờ nên k biết sửaBạn muốn nó tự động chạy phải chép đoạn dưới đây vào Sheet1:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2:E1000")) Is Nothing Then abc End If End Sub
Bài của bác vanthinh Ok nhé. Nhưng khi em chạy với lệnh khác nó báo lỗi worksheet-change vì trước đó cũng có 1 câu lệnh bắt đầu là private sub...Bạn thử dùng code sau cho Sheet1
Code sẽ hiện ra thông báo theo yêu cầu, nếu có 2 dòng thì sẽ hiện 2 thông báo bạn nhé!Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim Cll As Range If Intersect(Target, Range("E2", Range("E2").End(xlDown))) Is Nothing Then For Each Cll In Range("E2", Range("E2").End(xlDown)) If Cll.Value > 0 Then MsgBox "Line (" & Cll.Offset(, -4).Value & ") cap qua so luong (" & Cll.Value & ")", vbCritical End If Next Cll End If End Sub
Bạn gửi cái File mà bạn chèn Code lên đây tôi xem thế nào.Bài của bác vanthinh Ok nhé. Nhưng khi em chạy với lệnh khác nó báo lỗi worksheet-change vì trước đó cũng có 1 câu lệnh bắt đầu là private sub...
Bác chỉ em cách sửa được không ạ
1. Form thiết kế không hợp lý. Trang kế hoạch phải thiết kế riêng, trang cấp phát riêng và chạy theo hàng dọc. Thêm nữa phải có cột ngày cấp phát, nếu không thì khi có sự cố biết đâu mà kiểm tra. Hơn nữa cấp phát hàng mà không có cột tên mã hàng, màu sắc, ...Như tiêu đề bài viết. Em có vấn đề này nhờ Anh chị giúp đỡ.
Khi mình cấp vật liệu nếu lượng Remain > 0 thì sẽ hiển thị thông báo giữa màn hình làm việc dạng : Line (2) cấp quá số lượng (10)
Anh chị nào giúp em code vba với ạ.
Em làm form cấp theo ngày a ạ.1. Form thiết kế không hợp lý. Trang kế hoạch phải thiết kế riêng, trang cấp phát riêng và chạy theo hàng dọc. Thêm nữa phải có cột ngày cấp phát, nếu không thì khi có sự cố biết đâu mà kiểm tra.
2. Đơn hàng lớn sẽ khó kiểm soát nếu cấp phát nhiều lần. Đơn hàng lớn có thể cấp phát trên 10 lần hoặc hơn nữa
Vài lời góp ý cho việc quản lý sản xuất
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2