¿Cómo sumar valores de checkbox y que aparezca el resultado en un label? Visual basic

Soy nuevo en la programación, me dejaron un programa que al seleccionar un checkbox o varios de estos me de una suma total que se muestra en unlabel . Alguien que me ayude xd

Al elegir un checkbox me muestra el valor pero no se que código me falta poner para que se sume, este es el código:

Option Explicit

Private Sub Chkkit_Click()
Valor.Caption = " $100 "

End Sub

Private Sub Chkmicrofono_Click()

Valor.Caption = " $300 "

End Sub

Private Sub Chkpantalla_Click()
Valor.Caption = " $700 "

End Sub

Private Sub Chkteclado_Click()
Valor.Caption = " $200 "
End Sub

Private Sub Command1_Click()
End

End Sub

Respuesta
1

Con toda probabilidad estaré equivocado, pero creo que es sencillo( aunque no entiendo lo de poner ese valor a la etiqueta, pero...)

Si tengo un formulario donde tengo cuatro casillas de verificación llamadas Uno, Dos, Tres y Cuatro y cuatro etiquetas, Etiqueta1, Etiqueta2,... y un cuadro de texto llamado Suma, porque no se donde quieres ver el total de la suma

A medida que voy marcando y teniendo en cuenta que el valor de una casilla marcada es -1, ó True

Sigo marcando

Otro ejemplo

El código de los eventos Después de actualizar de las casillas es

Private Sub Cuatro_AfterUpdate()
If Cuatro = -1 Then
Etiqueta4.Caption = "$700"
Suma = Nz([Suma]) + Val(Right(Etiqueta4.Caption, 3))
End If
End Sub
Private Sub Dos_AfterUpdate()
If Dos = -1 Then
Etiqueta2.Caption = "$200"
Suma = Nz([Suma]) + Val(Right(Etiqueta2.Caption, 3))
End If
End Sub
Private Sub Tres_AfterUpdate()
If Tres = -1 Then
Etiqueta3.Caption = "$300"
Suma = Nz([Suma]) + Val(Right(Etiqueta3.Caption, 3))
End If
End Sub
Private Sub Uno_AfterUpdate()
If Uno = -1 Then
Etiqueta1.Caption = "$100"
Suma = Nz([Suma]) + Val(Right(Etiqueta1.Caption, 3))
End If
End Sub

No tienen porqué ir en ese orden, da igual.

1 respuesta más de otro experto

Respuesta
2

En primer lugar debes tener en cuenta que le estás pasando un 'texto' a tu Label por lo que no podrás sumarlo así sino que tendrás que acumularlo antes de darle el formato de $ para mostrarlo.

Asumiendo que tu Label se llama 'Valor' así serían las instrucciones para cada CheckBox, ajustando el importe:

Private Sub Chkkit_Click()
resulta = resulta + 100       'esta línea la debes agregar en todos los check
Valor.Caption = " $100 "
End Sub

Y al inicio el módulo donde se encuentren estos controles (Userform o la hoja) va esta línea para declarar la variable como Pública:

Public resulta as Long         'puede ser Integer, Double o lo que corresponda a tu caso.

Si estás trabajando en un Userform alcanza con Dim en lugar de Public.

Sdos y no olvides valorar la respuesta.

Elsa

http://aplicaexcel.com/manuales.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas