Página 1 de 1
Botão parar execução de macro automatica
Enviado: 27 Set 2016 às 20:12
por Angra
Boa noite
Quando quero parar execução de minha macro, dou ESC e aparece a seguinte tela:

então clico em Fim e...
Como fazer uma macro acionada por botão para finalizar a execução.

Re: Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 02:21
por DJunqueira
Muitas vezes eu utilizo o recurso de interromper a macro p/ ver como ela está executando o código e ele pode ser utilizado em qq ponto q eu quiser, p/ isso eu clico com o mouse na área cinza onde está o ponto vermelho na imagem abaixo, dessa forma eu evito a tela q vc não quer ver.

Re: Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 10:39
por AnaPaula1110
Não sei se vou conseguir te ajudar, mas uma execução de uma macro começa com o comando Sub, e quando finaliza todos os códigos e não tem nenhum comando para realizar, deve-se colocar o comando End Sub, para finalizar a macro.
E então poderá vincular a um botão, e ao executar a macro ela automaticamente vai finalizar.
Olha esse exemplo, de uma simples programação:
Sub ApuracaoST1002()
Cells.Select
Selection.EntireRow.Hidden = False
Rows("10:39").Select
Selection.EntireRow.Hidden = True
Range("J10").Activate
Range("B38").Select
End Sub
Re: Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 11:49
por Angra
Anapaula e DJunqueira não se trata de nenhuma das duas questões sugeridas. O que preciso é de uma
macro que substitua o que a tecla Esc faz, só isso. A macro roda 100% normal.

Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 20:00
por DJunqueira
Se roda 100% normal pq vc quer parar ela do nada?
Se seu código estivesse 100% vc não iria tentar parar antes do final das instruções.
Re: Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 21:08
por Angra
Re: Botão parar execução de macro automatica
Enviado: 28 Set 2016 às 21:09
por Angra
Re: Botão parar execução de macro automatica
Enviado: 29 Set 2016 às 08:43
por alexandrevba
Bom dia!!
Tente esse exemplo
Código: Selecionar todosType KeyboardBytes
kbb(0 To 255) As Byte
End Type
Declare Function GetKeyboardState Lib "User32.DLL" (kbArray As KeyboardBytes) As Long
Sub SeuCodigo()
Dim kbArray As KeyboardBytes
Application.Cursor = xlWait
Do
'Alguma coisa...
DoEvents
GetKeyboardState kbArray
If kbArray.kbb(32) And 128 Then ' Use a tecla Barra de Espaço (vbKeySpace-32-SPACEBAR key)
Application.Cursor = xlNormal
Exit Sub
End If
Loop
End Sub
Para ver os código das teclas leia:
https://msdn.microsoft.com/en-us/librar ... s.60).aspx
Att
Botão parar execução de macro automatica
Enviado: 30 Set 2016 às 14:09
por Angra
Boa tarde
Alexvba grato pela ajuda
