Olá;
Está otimo e funciona sim, apenas falta dar um Repaint ao form, por isso não piscava;
Como você chama dois eventos, para piscar 10 vezes o tempoEspera terá de ser >= 5
- Código:
Private Sub cmdAcende_Click()
'Momento de acender as luzes vermelhas quando não existe avaria.
Me.cmdLuzvermelha1.BackColor = vbRed
Me.cmdLuzvermelha2.BackColor = vbRed
Me.cmdLuzvermelha3.BackColor = vbRed
Me.cmdLuzvermelha4.BackColor = vbRed
Me.cmdLuzvermelha5.BackColor = vbRed
Me.cmdLuzvermelha6.BackColor = vbRed
Me.cmdLuzvermelha7.BackColor = vbRed
Me.cmdLuzvermelha8.BackColor = vbRed
'Momento de acender as luzes verdes quando não existe avaria.
Me.cmdLuzVerde1.BackColor = vbGreen
Me.cmdLuzVerde2.BackColor = vbGreen
Me.cmdLuzVerde3.BackColor = vbGreen
Me.cmdLuzVerde4.BackColor = vbGreen
Me.cmdLuzVerde5.BackColor = vbGreen
Me.cmdLuzVerde6.BackColor = vbGreen
Me.Repaint
End Sub
Private Sub cmdApaga_Click()
'Momento em que apagam as luzer vermelhas
Me.cmdLuzvermelha1.BackColor = vbBlack
Me.cmdLuzvermelha2.BackColor = vbBlack
Me.cmdLuzvermelha3.BackColor = vbBlack
Me.cmdLuzvermelha4.BackColor = vbBlack
Me.cmdLuzvermelha5.BackColor = vbBlack
Me.cmdLuzvermelha6.BackColor = vbBlack
Me.cmdLuzvermelha7.BackColor = vbBlack
Me.cmdLuzvermelha8.BackColor = vbBlack
'Momento em apagam as luzes verdes
Me.cmdLuzVerde1.BackColor = vbWhite
Me.cmdLuzVerde2.BackColor = vbWhite
Me.cmdLuzVerde3.BackColor = vbWhite
Me.cmdLuzVerde4.BackColor = vbWhite
Me.cmdLuzVerde5.BackColor = vbWhite
Me.cmdLuzVerde6.BackColor = vbWhite
Me.Repaint
End Sub
Outra coisa, você está a atualizar o tempo de espera com API do Windows
"Public Declare Sub Sleep Lib "kernel32"" para fazer a sua pausa, mas não necessita, veja a adaptação;
Download