none
Como fazer um userform para lançar dados simultâneos em linhas diferentes RRS feed

  • Pergunta

  • Bom dia, tenho que lançar diversos materiais comprados assim como seus custos através de um userform. Em vez de fazer um lançamento por material comprado, gostaria de selecionar todos que foram comprados, colocar seus custos e lançar em uma aba do Excel, sendo que cada material selecionado um abaixo do outro e seus respectivos preços na coluna ao lado.

    Como desenvolvo o código para realizar esta tarefa?

    Não sei como faço para armazenar a informação do checkbox selecionado e armazenar a proxima seleção logo abaixo.

    Obrigada


    quinta-feira, 17 de novembro de 2016 14:14

Respostas

Todas as Respostas

  • Arielle Brunatto,

    O que você está fazendo é uma planilha Excel+macros ou uma aplicação desenvolvida com VB.Net/Visual Basic?

    Caso seja a planilha, este não é o fórum correto para sua dúvida. O fórum correto é este https://social.msdn.microsoft.com/Forums/pt-BR/home?forum=vbapt


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".



    quinta-feira, 17 de novembro de 2016 14:36
  • Juliano,

    Postei no forum correto.

    Muito obrigada pela ajuda,

    Arielle

    quinta-feira, 17 de novembro de 2016 15:22
  • Normalmente o lançamento de qualquer item de cadastro é feito um a um.

    O que você pode fazer é melhorar a eficiência do seu trabalho.

    Por exemplo, crie um formulário com uma caixa de combinação ComboBox1, caixa de texto TextBox1, botão de comando CommandButton1 e coloque o código abaixo:

    Configure a propriedade de ComboBox1:

    ColumnCount = 2

    ColumnWidths = 100;100

    Style = 2 - fmStyleDropDownList

    A propriedade TabIndex de ComboBox1, TextBox1 e CommandButton1 deve ser igual a 0, 1 e 2, respectivamente.

    Configure a propriedade Default de ComboBox1 para True.

    Cole o código a seguir na classe do formulário:

    Option Explicit
    
    Private Sub UserForm_Initialize()
        Dim Values(1 To 4, 1 To 2) As Variant
        
        Values(1, 1) = "Lápis"
        Values(1, 2) = 10
        Values(2, 1) = "Borracha"
        Values(2, 2) = 5
        Values(3, 1) = "Caderno"
        Values(3, 2) = 20
        Values(4, 1) = "Tesoura"
        Values(4, 2) = 12
        ComboBox1.List = Values
    End Sub
    
    Private Sub CommandButton1_Click()
        Dim NextRow As Long
        
        If Not IsNumeric(TextBox1) Then
            MsgBox "Digite um valor numérico na caixa de texto!", vbExclamation
            TextBox1.SetFocus
            GoTo Quit
        End If
        
        If ComboBox1.ListIndex = -1 Then
            MsgBox "Selecione um item!", vbExclamation
            ComboBox1.SetFocus
            GoTo Quit
        End If
        
        With ThisWorkbook.Worksheets("Plan1")
            NextRow = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
            .Cells(NextRow, "A") = ComboBox1.List(ComboBox1.ListIndex, 0)
            .Cells(NextRow, "B") = ComboBox1.List(ComboBox1.ListIndex, 1)
            .Cells(NextRow, "C") = TextBox1
        End With
    
        TextBox1.Text = ""
        ComboBox1.SetFocus
    Quit:
    End Sub
    

    Na coluna A ficará registrado o nome do material, na B o custo e na C a quantidade.

    Basicamente, você digita as iniciais do nome do produto, pressiona Tab, digita a quantidade desejada e depois Enter. O produto é lançado e o foco volta à Caixa de Combinação.


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    segunda-feira, 21 de novembro de 2016 12:39
    Moderador