Dúvida formulário v...
 
Notifications
Clear all

Dúvida formulário vba

3 Posts
3 Usuários
0 Reactions
1,009 Visualizações
(@guimelo)
Posts: 2
New Member
Topic starter
 

Boa noite pessoal tudo bem? Sou Guiherme Melo, e sou iniciante em Excel VBA. Gostaria de uma ajuda se possível com meu problema. Sou comerciante e estou elaborando uma planilha de frente de caixa. gostaria de saber como faço para que a checkbox faça uma verificação? exemplo;
é uma frente de caixa, que ao mandar buscar um produto pelo código, ela retorna os valores dentro das textbox, deixando livre somente as opção de quantidade e peso para serem preenchidas manualmente, porém quero adicionar uma opção de desconto. Fiz uma checkbox, e gostaria que ela verificasse a seguinte condição.
se ela estiver ativada, ela pega o valor digitado dentro da texbox referente ao valor do produto com o desconto, multiplicado pela quantidade, e que o valor seja mostrado na texbox total, caso ela não seja ativada, efetuasse somente a multiplicação do preço pela quantidade, e que esse valor seja mostrado no total.
Segue em anexo a foto da minha tela e o código até o devido momento.

Private Sub btn_pesquisar_Click()
    
    Dim entrada As Worksheet
    Dim painel As Worksheet
    Dim intervalo As Range
    Dim codproduto As Double
    
    Set entrada = Sheets("ENTRADA DE PRODUTOS")
    entrada.Select
    
    Set intervalo = Sheets("ENTRADA DE PRODUTOS").Range("C1:H10")
    Set painel = Sheets("PAINEL")
    painel.Select
     
    'tratamento de erro caso o código do produto esteja vazio
    On Error GoTo erro
    If Me.txt_cod_produto = "" Then
        MsgBox "Por favor digite o Cód.Produto", vbInformation, "Atenção!"
        Me.txt_cod_produto.SetFocus
    Exit Sub
    
    'se não estiver vazio, executar esta condição
    Else
      codproduto = Me.txt_cod_produto.Text
      
    'condição caso a escolha seja a granel ou não
    If MsgBox("Ração a granel?", vbYesNo, "Atenção!") = vbYes Then
        Me.txt_produto = Application.WorksheetFunction.VLookup(codproduto, intervalo, 2, 0)
        Me.txt_peso = ""
        Me.txt_compra = ""
        Me.txt_compra.Visible = False
        Me.txt_peso.SetFocus
    Else
        Me.txt_produto = Application.WorksheetFunction.VLookup(codproduto, intervalo, 2, 0)
        Me.txt_peso = Application.WorksheetFunction.VLookup(codproduto, intervalo, 3, 0)
        Me.txt_val_uni = Application.WorksheetFunction.VLookup(codproduto, intervalo, 5, 0)
        Me.txt_compra.Visible = True
        Me.txt_compra = Application.WorksheetFunction.VLookup(codproduto, intervalo, 6, 0)
        Me.txt_qtd.SetFocus
    End If
    End If
    Exit Sub
    
    'tratamento de erro caso o código seja inválido
erro:
    MsgBox "Por favor digite um código válido", vbInformation, "Atenção!"
    Me.txt_cod_produto = Empty
    Me.txt_cod_produto.SetFocus
   
End Sub


Private Sub UserForm_Initialize()
    With list_produtos
    .AddItem
    .List(0, 0) = Me.Label1
    .List(0, 1) = Me.Label2
    .List(0, 2) = Me.Label3
    .List(0, 3) = Me.Label4
    End With
End Sub
 
Postado : 24/06/2018 6:05 pm
(@klarc28)
Posts: 971
Prominent Member
 

If checkbox.value = true then

'valor com desconto
else

'valor sem desconto

end if


 
Postado : 25/06/2018 4:44 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Guilherme,

Bom dia!

Seja muito bem vindo ao fórum.

Para aproveitar ao máximo o fórum e sempre manter o mesmo de forma organizada, sugiro ler os tópico da regras abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Algumas solicitações especiais que pedimos, por gentileza, ficar atento:
1 - Não inserir no titulo de suas postagens expressões como Help, Ajuda, etc. O título deve ser um resumo da sua necessidade para que outras pessoas que tenham a mesma dúvida possam efetuar a pesquisa e achar como foi resolvido.
2 - Não insira em suas mensagens frases todas escritas em letras maiúsculas. Isso, na Internet, é compreendido como gritos e muitos usuários sequer respondem somente por esse fato!
3 - Insira sempre um arquivo exemplo compactado com .ZIP aqui mesmo no fórum. Existe, logo abaixo da caixa de mensagens, uma aba chamada "Adicionar um anexo" para essa finalidade. O arquivo exemplo deve ser pequeno, com apenas 5 linhas no máximo, compactado com .ZIP e ter o mesmo layout (nome do arquivo, nome das abas/guias/folhas, mesma linha/coluna onde os dados se iniciam) do arquivo original. Links de arquivos enviados para sites de compartilhamento de arquivos, muitas vezes são bloqueados pelas empresas, por conterem muitos vírus. Alguns usuários que acessam o fórum a partir de empresas não conseguem baixar tais arquivos.
4 - Não utilize a ferramenta CITAR para inserir o inteiro teor das mensagens que lhe são encaminhadas como resposta. Citações, se estritamente necessárias ao entendimento da mensagem que você quer enviar, devem ser apenas de pequenos trechos das mensagens.
5 - Se for postar códigos VBA aqui no fórum, utilize a ferramenta CODE localizada logo no início da caixa de mensagens (quinto botão da esquerda para a direita). As linhas de código devem ficar entre as palavras "CODE e /CODE".
6 - Agradeça sempre às pessoas que lhe responderam e às mensagens que atenderam a necessidade de sua demanda. Esse agradecimento deve ser clicando na mãozinha que fica localizada ao lado da ferramenta CITAR. Lembre-se: o fórum é gratuito e esse é o único incentivo para as pessoas que prestam ajuda. Você pode agradecer a quantos usuários quiser.
7 - O título ou o texto das mensagens postadas não devem ser escritos todo em letras maiúsculas. Na internet, tudo escrito em letras maiúsculas é interpretado como gritos e muitos usuários sequer olham para esse tipo de mensagem.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 25/06/2018 6:02 am