Código para realizar varias sumas en un solo formulario

Necesito realizar varias sumas en un mismo Userform, uso este código para un sola suma:

Sub sumar()
TextBox50.Text = Val(TextBox2) + Val(TextBox9) + Val(TextBox15)
End Sub
Private Sub TextBox50_AfterUpdate()
Call sumar
End Sub

No funciona muy bien, pues tengo que dar enter al textbox para que de la suma y me gustaría que la hiciera automática. Por otra parte, no solo es una suma, son 10. Mi pregunta es, ¿debo hacer esto para cada suma que vaya a utilizar? Porque creo que al hacer el Call sumar puede haber confusión, y Excel no sabrá cual sumar. Espero haberme explicado, no se mucho de programación VBA Excel.

2 respuestas

Respuesta
2

H o l a : Lo que puedes hacer es poner el evento "Change" en cada uno de los textbox que se van a sumar, por ejemplo, pon el evento change para los textbox 2, 9 y 15, de esa forma, cada que modifiques cualquiera de esos 3 textbox, la suma se actualizará en automático sin necesitad de presionar enter.

Private Sub TextBox2_Change()
    Call Sumar
End Sub
Private Sub TextBox9_Change()
    Call Sumar
End Sub
Private Sub TextBox15_Change()
    Call Sumar
End Sub
'
Sub Sumar()
    TextBox50.Value = Val(TextBox2) + Val(TextBox9) + Val(TextBox15)
End Sub

Ahora, si requieres realizar más sumas, podría ser así:

Private Sub TextBox2_Change()
    Call Sumar
End Sub
Private Sub TextBox3_Change()
    Call Sumar
End Sub
Private Sub TextBox4_Change()
    Call Sumar
End Sub
Private Sub TextBox5_Change()
    Call Sumar
End Sub
Private Sub TextBox9_Change()
    Call Sumar
End Sub
Private Sub TextBox10_Change()
    Call Sumar
End Sub
Private Sub TextBox11_Change()
    Call Sumar
End Sub
Private Sub TextBox12_Change()
    Call Sumar
End Sub
Private Sub TextBox15_Change()
    Call Sumar
End Sub
Private Sub TextBox16_Change()
    Call Sumar
End Sub
Private Sub TextBox17_Change()
    Call Sumar
End Sub
Private Sub TextBox18_Change()
    Call Sumar
End Sub
'
Sub Sumar()
    TextBox50.Value = Val(TextBox2) + Val(TextBox9) + Val(TextBox15)
    TextBox51.Value = Val(TextBox3) + Val(TextBox10) + Val(TextBox16)
    TextBox52.Value = Val(TextBox4) + Val(TextBox11) + Val(TextBox17)
    TextBox53.Value = Val(TextBox5) + Val(TextBox12) + Val(TextBox18)
End Sub

Todos los eventos change ejecutarían la macro "Sumar", en la macro "Sumar" tendrías todas las sumas, de esa forma, cualquier textbox que modifiques, se actualizarán todas las sumas.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

H o l a 

observa esto y coméntame cual es la duda

https://www.dropbox.com/s/t5uvm55iar098pg/sumar.xlsm?dl=0 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas