這是我用來規劃服務工作人員運行時間的電子表格範例。C9
& C10
to J9
&J10
是當天輸入的時間,然後技術人員需要計劃當天的運行,B11
是從最後一個站點返回分支的時間。
我的問題是:
當值已輸入C9:J9
&C10:J10
範圍時,我希望 Excel 提示技術人員記住如果可能的話透過錯誤訊息添加 B11 的時間。
關於電子表格:C9:J9
技術人員將以&以分鐘的形式添加時間C10:J10
,並將其轉換為時間 inB9
和B10
。然後將它們加在一起,最多 7 小時放入其中D11
,任何多餘的時間將放入 F11 中。
答案1
使用此 VBA 子程式作為標準模組。
注意
- 在 VBA 的專案資源管理器中雙擊工作表的名稱,然後複製&貼上這段程式碼。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Range("C9:J10"), Target) Is Nothing) Then
MsgBox "Cell " & Target.Address & " has filled/altered, now enter data into B11.", vbInformation, "Prompting you,,"
Range("B11").Select
End If
End Sub
- 一旦技術人員開始將資料填入/變更到範圍
C9:J10
,巨集就會彈出訊息以及已填入的儲存格,以填入B11
。
您可以根據需要調整此程式碼中的儲存格參考。
答案2
使用巨集的另一種方法是在您希望顯示訊息的任何位置放置這樣的公式:
=If(COUNTA(C9:J10)>1,”Please add the time”,””)
這假設 C9:J10 為空白,直到有人開始輸入訊息。