Notifications
Clear all

Botão Desfazer - Ctrl+Z

4 Posts
2 Usuários
0 Reactions
1,557 Visualizações
(@rafnakb)
Posts: 0
New Member
Topic starter
 

Bom dia.
Percebi aqui que ao preencher células através de um userform (VBA) o comando Desfazer do excel (Aquele na interface padrão superior esquerdo) fica inativo.
Muito bem! Será que é possível um botão no meu userform para desfazer a ultima ação, ou seja, se eu preencho valores, posso retornar por ter digitado algum valor incorreto ?

Em anexo tem um exemplo da planilha.

Alguém poderia me ajudar ?

 
Postado : 01/08/2016 5:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Raf, no VBA temos o Método Application.Undo (Excel) - https://msdn.microsoft.com/pt-br/librar ... 38189.aspx, só que não é tão simples em se trantando de vários lançamentos atraves de Userform

No link abaixo tem ótimas dicas e até um exemplo para baixar :
Creating An Undo Handler To Undo Changes Done By Excel VBA
http://www.jkp-ads.com/Articles/UndoWithVBA00.asp

Tem de criar Modulos de Classes e na minha opinião seria bem complicado, e como no seu modelo você lança mais de um valor, eu teria duas sugestões :

1ª ) Acho mais simples e optaria por esta, como as alterações só ocorrem apos clicar no Botão Salvar, eu adicionaria um MsgBox perguntando se os valores estão corretos e se deseja continuar.

2ª ) Criar outros textbox referente a cada textbox de lançamento que ficariam ocultos e a cada digitação nos textbox armazenaria o valor atual que se encontra na planilha e tambem adicionaria um botão desfazer o qual correria a mesma rotina de lançamentos só que adaptada para os valores armazenados nos textbox com os valores antigos.

Como eu disse, eu utilizaria a primeira opção por ser mais simples e tambem porque teriamos de adaptar a rotina da 2ª opção para reverter os dados lançados na Plan2.

Pense nisto.

[]s

 
Postado : 01/08/2016 7:50 am
(@rafnakb)
Posts: 0
New Member
Topic starter
 

Poxa, Mauro. Uma pena isto. Salvaria muita gente se fosse possível retornar ali ein. Mas tudo bem.
Obrigado pela sugestão. Vou dar uma pensada então q tipo de solução vou dar para isso.

 
Postado : 01/08/2016 7:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Poxa, Mauro. Uma pena isto. Salvaria muita gente se fosse possível retornar ali ein. Mas tudo bem.
Obrigado pela sugestão. Vou dar uma pensada então q tipo de solução vou dar para isso.

raf, entenda que eu não quis dizer que não é possível, mas sim que demandará varias implementações mais complexas que acho desnecessárias se podemos utilizar recursos mais simples.

[]s

 
Postado : 01/08/2016 8:10 am