Realiza lo siguiente:
1. En tu hoja pon un botón
2. Al botón le asignas la siguiente macro
Sub Macro1()
'Por.Dante Amor
'
On Error Resume Next
ActiveSheet.Shapes("mensaje").Delete
On Error GoTo 0
izq = ActiveCell.Left
arr = ActiveCell.Top
Set figura = ActiveSheet.Shapes.AddShape(msoShapeRectangle, izq, arr, 300, 100)
figura.Name = "mensaje"
figura.TextFrame.Characters.Text = "Espere un momento por favor"
figura.TextFrame.Characters.Font.Size = 28 'tamaño
figura.TextFrame.Characters.Font.ColorIndex = 3 'color rojo
DoEvents
'
'aquí va el código de tu macro
'
For i = 1 To 3
Application. Wait Now + TimeValue("00:00:01")
DoEvents
Next
'Fin código de tu macro
'
On Error Resume Next
ActiveSheet.Shapes("mensaje").Delete
On Error GoTo 0
End Sub3. Regresa a la hoja y presiona el botón
Lo primero que verás será el shape con el mensaje "Espere un momento por favor"
Después termina el ciclo del Wait y se borra el shape.
Nota: Si en alguna parte de la macro pones esto: Application.ScreenUpdating = False, eso apaga las actualizaciones a la pantalla, por lo tanto no verás el shape. Por eso solamente pon el código que te estoy enviando para que lo pruebes.
Sal u dos