Este es un ejemplo de una hoja de cálculo que estoy usando para planificar tiempos de ejecución para los trabajadores de servicios. C9
& C10
to J9
& J10
son horas que se ingresan en el día, el técnico debe planificar el recorrido del día, B11
es el tiempo para viajar desde el último sitio de regreso a la sucursal.
Mi pregunta es:
Cuando se hayan ingresado valores en el rango C9:J9
& C10:J10
, quiero que Excel le solicite al técnico que recuerde agregar el tiempo para B11 si es posible mediante un mensaje de error.
Acerca de la hoja de cálculo:El técnico sumará los tiempos en C9:J9
& C10:J10
en forma de minutos, y esto se convertirá en Tiempo en B9
y B10
. Luego se suman y se agregan hasta 7 horas D11
y el exceso de horas se ingresa en F11.
Respuesta1
Utilice esta subrutina VBA como módulo estándar.
NÓTESE BIEN
- Haga doble clic en el nombre de la hoja de trabajo en el Explorador de proyectos de VBA yCopiar&Pegareste 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
- Tan pronto como el técnico comience a completar/alterar datos en el rango
C9:J10
, aparecerá un mensaje emergente macro junto con la celda completada para llenar elB11
.
Puede ajustar las referencias de celda en este código según sea necesario.
Respuesta2
Una alternativa al uso de macros es colocar una fórmula como esta donde desee que aparezca el mensaje:
=If(COUNTA(C9:J10)>1,”Please add the time”,””)
Esto supone que C9:J10 está en blanco hasta que alguien comienza a ingresar información.