Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por GladstoneD
Posts
#37668
Bom dia!!!

Eu de novo precisando da ajuda de vocês. Acredito que o que quero fazer seja fácil, mas não sei quais ferramentas utilizar.

Seguinte. Tenho esse formulario que contem uma listbox. Criei um botão "Excluir" que exclui(obviamente) o item selecionado. O que eu queria fazer é, ao clicar a tecla "DELETE" no teclado, que ela faça a rotina do "Botão EXCLUIR".

Código: Selecionar todos
Private Sub Bt_Excluir_Click()

Me.ListNovoPedido.RemoveItem (Me.ListNovoPedido.ListIndex)

End Sub
https://lh4.googleusercontent.com/39wW9 ... w1366-h626

E então? É fácil ou não? Agardeço[/size]
Avatar do usuário
Por ExcelFlex
Posts Avatar
#37676
É bem simples sim:
Código: Selecionar todos
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode.Value = vbKeyDelete Then
    MsgBox "Botão delete pressionado."
  End If
End Sub
No lugar do msgbox você coloca a chamada para o seu código.
Por GladstoneD
Posts
#37684
ExcelFlex escreveu:É bem simples sim:
Código: Selecionar todos
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode.Value = vbKeyDelete Then
    MsgBox "Botão delete pressionado."
  End If
End Sub
No lugar do msgbox você coloca a chamada para o seu código.
Obrigado por ajudar, mas não deu certo e eu realmente não sei o motivo. Estou deixando a planilha de exemplo. Talvez eu esteja fazendo algo errado. Eu nem mudei o codigo que vc mandou, pra ver se a aparecia a MsgBox. Testei no modo depuração e a tecla DELETE não chama o código. Obrigado!!
Você não está autorizado a ver ou baixar esse anexo.
Por GladstoneD
Posts
#37697
Só pra fechar o Tópico, agradeço ao ExcelFlex que me deu a ideia de como fazer. Diferente do que ele sugeriu, eu mudei o "UserForm_KeyDown" para "ListNovoPedido_KeyDown". Pelo o que eu entendi, para o KeyDown funcionar, um objeto precisa estar em foco. Aí, como precisa selecionar o linha do ListBox, já deixei pra ser o objeto. Obrigado.

O código ficou assim:
Código: Selecionar todos
Private Sub ListNovoPedido_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode.Value = vbKeyDelete Then
    Me.ListNovoPedido.RemoveItem (Me.ListNovoPedido.ListIndex)
  End If

End Sub
Obrigado a todos envolvidos!!!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord