Ir para conteúdo
Fórum Script Brasil

MosconiDih

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Posts postados por MosconiDih

  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.

×
×
  • Criar Novo...