Ir para conteúdo
Fórum Script Brasil
  • 0

Somar valores de um Listbox em um Textbox


Michelle Alves

Pergunta

Bom dia, mais uma vez vou contar com ajudado fórum.

Tenho uma macro que transfere dados para um Listbox, gostaria que a medida que os dados forem transferidos, os valores da coluna 4 do Listbox fossem somados em um Textbox. Segue abaixo o código que utilizo para transferir os dados para o Listbox, podendo inclusive servir de exemplo no fórum:

'ENVIA OS DADOS DOS TEXTBOX PARA O LISTBOX 
Private Sub AdButton10_Click() 
Dim result As Double 
Dim Acum As Double 
Dim Total As Double 
Dim i 
i = 0 
Acum = 0 
result = 0 
Total = 0 

If TextBox5 = "" Then 
MsgBox "Prencha todos os campos" 
ElseIf TextBox6 = "" Then 
MsgBox "Prencha todos os campos" 
ElseIf TextBox7 = "" Then 
MsgBox "Prencha todos os campos" 
ElseIf TextBox8 = "" Then 
MsgBox "Prencha todos os campos" 
Else 

Acum = TextBox7.Text 
result = TextBox8.Text 
Total = Acum * result 

Me.ListBox1.AddItem , ListIndex 
ListBox1.List(i, 0) = TextBox5.Text 
ListBox1.List(i, 1) = TextBox6.Text 
ListBox1.List(i, 2) = TextBox7.Text 
ListBox1.List(i, 3) = Format(TextBox8.Text, "R$ 0.00") 
ListBox1.List(i, 4) = Format(Total, "R$ 0.00") 

TextBox5 = Clear 
TextBox6 = Clear 
TextBox7 = Clear 
TextBox8 = Clear 
End If 
End Sub

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

michelle, pra acessar a coluna 4 do grid é o mesmo codigo q você usa pra preencher ne.

é so pegar aqui:

TextBox1.Text = TextBox1.Text + ListBox1.List(i, 3)

entretanto, acontece q dentro da list o valor ta formatado como string com R$ e tudo ne. ai vai dar mais trabalho, você vai ter q usar Replace() pra tirar o R$ e muito possivelmente ter q usar o Val() ou CDbl() pra converter (como no exemplo la em cima).

entretanto, seria mais facil no exemplo q eu passei, você pegaria direto o valor q ta sendo adicionado. porque se você pegar a cada vez, a soma vai ficar certa não??

Link para o comentário
Compartilhar em outros sites

  • 0

Com Dbl dá erro de tipo incompatível. Vou postar o código todo para facilitar, ai você pode fazer um teste.

'ENVIA OS DADOS DOS TEXTBOX PARA O LISTBOX

Private Sub AdButton10_Click()

Dim result As Double

Dim Acum As Double

Dim Total As Double

Dim Soma As Double

Dim i

i = 0

Acum = 0

result = 0

Total = 0

Soma = 0

If TextBox5 = "" Then

MsgBox "Prencha todos os campos"

ElseIf TextBox6 = "" Then

MsgBox "Prencha todos os campos"

ElseIf TextBox7 = "" Then

MsgBox "Prencha todos os campos"

ElseIf TextBox8 = "" Then

MsgBox "Prencha todos os campos"

Else

Acum = TextBox7.Text

result = TextBox8.Text

Total = Acum * result

Me.ListBox1.AddItem , ListIndex

ListBox1.List(i, 0) = TextBox5.Text

ListBox1.List(i, 1) = TextBox6.Text

ListBox1.List(i, 2) = TextBox7.Text

ListBox1.List(i, 3) = Format(TextBox8.Text, "R$ 0.00")

ListBox1.List(i, 4) = Format(Total, "R$ 0.00")

Soma = Total + i

TextBox10.Text = Val(TextBox10.Text) + Val(Soma)

TextBox5 = Clear

TextBox6 = Clear

TextBox7 = Clear

TextBox8 = Clear

End If

End Sub

Editado por Michelle Alves
Link para o comentário
Compartilhar em outros sites

  • 0

Nossa..... testei e não funcionou, veja só:

EDITADO:

IGNORA, FUNCIONOU SIM, MAS TEM QUE RETIRAR A FUNÇÃO VAL.

Mais uma vez obrigada Kuroi !!!

Só que acabou aparecendo um outro problema, se eu deletar um item no LISTBOX, o valor do TEXTBOX10 não é subtraído.

Editado por Michelle Alves
Link para o comentário
Compartilhar em outros sites

  • 0

Para somar os valores duma listbox, acho que podemos recorrer a textbox origem.

Dados introduzidos a textbox são adicionados na listbox. 

/ / / assim adicionamos os valores Listbox1.items.add(textbox1.text)

// somar valores numa label1

Label1. text =val(label1.text) + val(textbox1.text)

Com esses dois comandos ele adiciona valores na listbox1 e vai somando Na label1

 

 

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...