none
Duvidas - Vba RRS feed

  • Pergunta

  • Ola uso o vb do excel 2007 e tenho algumas duvidas

    como tirar o X que fica na aba da pagina no programa que criei ? (o X de fechar anula o codigo que criei para entra - um LOGIN-) dai quando nao souber a senha
    é clicar no x que ele fecha a aba e continua no programa.

    E como fazeer um codigo para que quando de algo errado no programa ele nao va pedir para depurar e sim so fechar o programa?

    E um codigo que va usar para coverter gramas de um textbox para kg em outro textbox.

     

    urgencia

    tudo no vba do excel 2007

    quarta-feira, 20 de julho de 2011 17:39

Respostas

  • 1 - Remover o X de um formulário

    Na verdade, o código abaixo não remove o X, e sim inutiliza-o. O motivo disto é evitar chamadas API desnecessárias.

    Crie um formulário com um botão de comando btnSair e use o código abaixo:

     

    Private Sub btnSair_Click()
      Unload Me
    End Sub
    
    Private Sub UserForm_QueryClose _
     (Cancel As Integer, CloseMode As Integer)
      If CloseMode = vbFormControlMenu Then
        Cancel = True
        MsgBox "Favor clicar no botão 'Sair' para encerrar o programa" _
         , vbCritical _
         , "Erro"
      End If
    End Sub

     

    Observe que o evento QueryClose é chamando quando se pressiona Alt+F4 ou tenta-se fechar o programa ao clicar no X vermelho.

     

    2 - Suprimir erros de um programa

    Não é recomendável pular os erros de um programa, e sim desenvolver um código robusto que possua uma quantidade mínima possível de falhas e gerenciar os erros não previstos. No entanto, você pode aproveitar o código abaixo:

     

    Sub EncontrarErro()
    
      'O comando abaixo suprimirá erros:
      On Error GoTo Erro
      
      'A linha de código abaixo gera um erro (não é possível dividir um número por zero):
      Debug.Print 1 / 0
    
      Exit Sub
    
    Erro:
      MsgBox "Erro " & Err.Number & " encontrado no módulo 'EncontrarErro' " & vbNewLine & _
       "Descrição: " & Err.Description & vbNewLine & _
       ". Saindo do programa..." _
       , vbCritical _
       , "Erro"
    
    End Sub

     

     

    3 - Converter gramas em kilogramas

    Crie um formulário com um botão de comando btnSair, e duas caixas de texto, uma chamada txtGrama e outra chamada txtKilograma. Use o código abaixo:

     

    Private Sub btnConverter_Click()
      On Error Resume Next
      txtKilogramas = txtGramas / 1000
    End Sub

     

     

    Para baixar uma Pasta de Trabalho com todos esses exemplos, clique no link:

    http://www.megaupload.com/?d=WOGOOKDD


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    sexta-feira, 5 de agosto de 2011 14:07
    Moderador

Todas as Respostas

  • boa noite!!!

     

    Segue um belo exemplo do que precisa ...

    Login: ale

    Senha: 123

    http://www.4shared.com/file/AK3uWn_r/Ocultar-3.html

     

    Att..


    zinho
    quarta-feira, 20 de julho de 2011 22:18
  • boa noite!!!

     

    Segue um belo exemplo do que precisa ...

    Login: ale

    Senha: 123

    http://www.4shared.com/file/AK3uWn_r/Ocultar-3.html

     

    Att..


    zinho

    OI e a terceira pergunta pode mi ajudar?

    quinta-feira, 21 de julho de 2011 12:24
  • Disponibilise eu arquivo.............
    zinho
    sábado, 23 de julho de 2011 15:34
  • 1 - Remover o X de um formulário

    Na verdade, o código abaixo não remove o X, e sim inutiliza-o. O motivo disto é evitar chamadas API desnecessárias.

    Crie um formulário com um botão de comando btnSair e use o código abaixo:

     

    Private Sub btnSair_Click()
      Unload Me
    End Sub
    
    Private Sub UserForm_QueryClose _
     (Cancel As Integer, CloseMode As Integer)
      If CloseMode = vbFormControlMenu Then
        Cancel = True
        MsgBox "Favor clicar no botão 'Sair' para encerrar o programa" _
         , vbCritical _
         , "Erro"
      End If
    End Sub

     

    Observe que o evento QueryClose é chamando quando se pressiona Alt+F4 ou tenta-se fechar o programa ao clicar no X vermelho.

     

    2 - Suprimir erros de um programa

    Não é recomendável pular os erros de um programa, e sim desenvolver um código robusto que possua uma quantidade mínima possível de falhas e gerenciar os erros não previstos. No entanto, você pode aproveitar o código abaixo:

     

    Sub EncontrarErro()
    
      'O comando abaixo suprimirá erros:
      On Error GoTo Erro
      
      'A linha de código abaixo gera um erro (não é possível dividir um número por zero):
      Debug.Print 1 / 0
    
      Exit Sub
    
    Erro:
      MsgBox "Erro " & Err.Number & " encontrado no módulo 'EncontrarErro' " & vbNewLine & _
       "Descrição: " & Err.Description & vbNewLine & _
       ". Saindo do programa..." _
       , vbCritical _
       , "Erro"
    
    End Sub

     

     

    3 - Converter gramas em kilogramas

    Crie um formulário com um botão de comando btnSair, e duas caixas de texto, uma chamada txtGrama e outra chamada txtKilograma. Use o código abaixo:

     

    Private Sub btnConverter_Click()
      On Error Resume Next
      txtKilogramas = txtGramas / 1000
    End Sub

     

     

    Para baixar uma Pasta de Trabalho com todos esses exemplos, clique no link:

    http://www.megaupload.com/?d=WOGOOKDD


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    sexta-feira, 5 de agosto de 2011 14:07
    Moderador
  • Olá, alguém pode me ajudar?

    Tenho um cadastro que é realizado pelo CPF e armazena CPF, Nome, RG, data nascimento e serviço.

    Dependendo do serviço, o cliente pode ser cadastrado mais de uma vez no banco de dados, por exemplo:

    CPF 012.345.678.99 cliente José  serviço  01

    CPF 012.345.678.99 cliente José serviço 02

    CPF 012.345.678.99 cliente José serviço 04

    Ocorre que quando vou fazer a pesquisa e digito o cpf de José, só aparece o primeiro serviço e quando clico de novo no botão “pesquisar” ela não faz a busca pelos outros serviços de Jose

    Como faço para quando eu clicar no botão “pesquisar”  novamente, ir aparecendo os outros serviços de jose? Ou seja, como faço para quando eu apertar o botão “pesquisar” apareça a informação de outra linha que tenha o número do CPF de josé?

    Private Sub cmdPequisar_Click()

    'Verificar se foi digitado um nome na primeira caixa de texto

    If txtCPF.Text = "" Then

    MsgBox "Digite o CPF de um cliente"

    txtCPF.SetFocus

    GoTo Linha1

    End If

    With Worksheets("Dados Clientes").Range("A:A")

    Set c = .Find(txtCPF.Value, LookIn:=xlValues, lookat:=xlPart)

    If Not c Is Nothing Then

    c.Activate

    TxtRg.Value = c.Offset(0, 1).Value

    txtNome.Value = c.Offset(0, 2).Value

    txtNascimento.Value = c.Offset(0, 3).Value

    txtServiço.Value = c.Offset(0, 5).Value

    'Carregando o botão de opção

    If c.Offset(0, 4) = "Masculino" Then

    OptionButton1.Value = True

    Else

    OptionButton2.Value = True

    End If

    Else

    MsgBox "Cliente não encontrado!"

    End If

    End With

    Linha1:

    End Sub

    quarta-feira, 29 de julho de 2020 18:58