MosconiDih

Membros
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutro

About MosconiDih

  • Birthday 03/04/1989

Perfil

  • Gender
    Male
  • Location
    Morro Agudo, SP
  • Interests
    VBA
  1. Pessoal tenho uma dúvida. Estou criando uma agenda e gostaria que minhas duas textbox que recebe a hora digitada pelo usuário se autoformate durante a imputação de dados. Ex: quando o usuário digitar do 3 até o 9 ele acrescente antes o 0 e se for o 1 ou 2 não e depois do 2 caractere ele acrescente os : para separar hora do minuto. Caso o minuto for maior q 5 ele jogue automático o zero também. Alguém me da uma luz ae? Tentei usar case no evento _KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) mas infelizmente não deu certo. Tentei com o evento change mas não deu certo. Como sou leito no VBA tenho certeza q é meu código q está errado. Alguém sabe como resolver isso? Segue o código (incompleto) q não funcionou adequadamente: Private Sub txtInicio_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case 51 To 57 ' BackSpace(8)) e numericos (51 até 57) do 3 até o 9 If Len(txtInicio) = 1 Then txtInicio.Text = "0" & txtInicio.Text End If End Select If Len(txtInicio) = 2 Then txtInicio = txtInicio & ":" End If Select Case KeyAscii Case 48 To 50 ' BackSpace 0, 1 e 2 If Len(txtInicio) = 1 Then txtInicio.Text = txtInicio.Text End If End Select If Len(txtInicio) = 2 Then txtInicio = txtInicio + ":" End If End Sub
  2. Pessoal estou fazendo uma aplicação em vba usando excel como bando de dados. E na minha tela de inicial gostaria que um label q eu criei exibisse a hora e escrevesse uma saudação. Criei um código mas ele infelizmente fica estático exibindo apenas a hora em que a aplicação foi aberta. Alguém me da uma mão pra ele ficar dinâmico e atualizar a label a cada segundo com a hora nova? Segue o código abaixo. Private Sub UserForm_Activate() Dim vSaudacaoHora As Integer vSaudacaoHora = Hour(Now) + TimeValue("00:00:01") Select Case vSaudacaoHora Case 1 To 5 labelsaudacao.Caption = "Olá, agora são " & Time & " horas, tenha uma boa madrugada!" ' retorno no Label Case 6 To 11 labelsaudacao.Caption = "Olá, agora são " & Time & " horas, tenha um bom dia!" Case 12 To 17 labelsaudacao.Caption = "Olá, agora são " & Time & " horas, tenha uma boa tarde!" Case 18 To 24 labelsaudacao.Caption = "Olá, agora " & Time & " horas, tenha uma boa noite!" End Select End Sub
  3. Ola... tenho pouco conhecimento mas acredito q te resolveria o problema usando um modulo no evento do keydown cria o modulo "sub keyReturn" e coloca a função que você quer que ele execute ==== UserFormX =================================================================== Private Sub txtOrdemVenda_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then keyReturn 'chama sua sub na txtOrdemVenda End if End Sub ======== UserFormY =================================================================== Private Sub c_lstPedidos_DblClick(ByVal Cancel As MSForms.ReturnBoolean) keyReturn 'chama a mesma sub no evento de click duplo na c_listPedidos End sub Bom espero q ajude. Sou bem iniciante no VBA mas acho que resolveria pra você dessa forma.