Это пример электронной таблицы, которую я использую для планирования времени работы сервисных работников. C9
& C10
to J9
& J10
— это время, которое вводится в день, затем техническому специалисту необходимо спланировать работу на день, B11
это время, необходимое для поездки с последнего объекта обратно в филиал.
Мой вопрос:
Когда значения введены в диапазон C9:J9
& C10:J10
, я хочу, чтобы Excel напоминал техническому специалисту не забыть добавить время для B11, если это возможно, с помощью сообщения об ошибке.
О таблице:Техник складывает время в C9:J9
и C10:J10
в минутной форме, и это преобразуется во время в B9
и 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 будет пустой до тех пор, пока кто-то не начнет вводить информацию.