Tôi hiện có 12 bản Workbook - một bản cho mỗi địa điểm của công ty chúng tôi. Có nhiều cột và một hàng cho mỗi ngày trong tháng. Mỗi ngày Trình quản lý vị trí điền vào 2 cột và phần còn lại được tính toán tự động. Có một vài người dùng "phức tạp" ngoài kia từ chối nhập số 0 vào cột thứ hai nếu không có số tiền cho ngày hôm đó và họ để trống, gây ra lỗi trên bảng tính.
Sẽ luôn có một giá trị cho mỗi ngày trong cột A, vì vậy tôi muốn chạy macro khi người dùng nhấp vào lưu sẽ kiểm tra cột A để tìm giá trị. Nếu có một giá trị thì điều đó có nghĩa là ngày này đã trôi qua và NÊN có một giá trị trong cột D (ngay cả khi nó bằng không).
Để tổng hợp, nếu cột A không trống, hãy kiểm tra cột D. Nếu nó trống, hãy điền nó vào số 0. Nếu nó không trống, người dùng đã nhập một giá trị, vì vậy chúng tôi có thể tiếp tục. Khi nó đến một ô trong cột A trống, chỉ cần thoát toàn bộ quá trình.
Tôi đã duyệt Internet trong một vài ngày để tìm hiểu điều này và đây là những gì tôi có cho đến nay:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim curCell As Range
'Labor Flow Sheet'.Select
For Each curCell in Range(A1:D31)
If curCell.Value = "" Then
<???????>
End If
Next curCell
End Sub
Tôi đã đặt phạm vi cho toàn bộ khu vực, tuy nhiên tôi không chắc làm thế nào để biết rằng vòng lặp sẽ chỉ kiểm tra cột A. Thay vào đó phạm vi có nên (A1: A31) không? Sau đó, làm thế nào để tôi bảo nó bỏ qua trong cùng một hàng với cột D để kiểm tra giá trị đó?
Tôi thực sự đánh giá cao sự giúp đỡ của bất cứ ai trước. Tôi hy vọng sẽ được giúp đỡ trong cộng đồng này để trả lời các câu hỏi khác bất cứ nơi nào tôi có thể!
Cảm ơn lần nữa