Este é um exemplo de planilha que estou usando para planejar tempos de execução para service workers. C9
& C10
to J9
& J10
são horários que são inseridos no dia, o então técnico precisa planejar a corrida do dia, B11
é o tempo de deslocamento do último site de volta até a filial.
Minha pergunta é:
Quando os valores forem inseridos no intervalo C9:J9
& C10:J10
, desejo que o Excel solicite ao técnico que se lembre de adicionar o tempo para B11, se possível, por meio de uma mensagem de erro.
Sobre a planilha:O técnico irá adicionar os tempos em C9:J9
& C10:J10
em minutos, e isso será convertido em Tempo em B9
e B10
. Eles são então somados e até 7 horas são colocadas D11
e quaisquer horas extras são colocadas em F11.
Responder1
Use esta sub-rotina VBA como módulo padrão.
Observação
- Clique duas vezes no nome da planilha no Project Explorer do VBA ecópia de&Colareste código.
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
- Assim que o técnico começar a preencher/alterar os dados no intervalo
C9:J10
, a mensagem pop da macro junto com a célula foi preenchida, para preencher oB11
.
Você pode ajustar as referências de células neste código conforme necessário.
Responder2
Uma alternativa ao uso de macros é colocar uma fórmula como esta onde você deseja que a mensagem apareça:
=If(COUNTA(C9:J10)>1,”Please add the time”,””)
Isso pressupõe que C9:J10 esteja em branco até que alguém comece a inserir informações.