La idea es optimizar la macro y éstos instructivos sencillos nos ayudan muchísimo. Menos código y mas eficiencia. Sugiero más videos de optimización. Gracias Sergio. Saludos 😎
Buen aporte Sergio. gracias. Seria bueno si se puede en el curso de macros: el ver un tutorial para conectarnos a un XML como el de las facturas para poder sacar la información de estas de manera automatizada como importe, proveedor, etc de datos a través de sus diferentes nodos.
a mi me valió este cambio Private Sub CommandButton1_Click() Dim i Dim Valor ' As Integer Dim Valor1 ' As Integer For i = 1 To 17
If VBA.IsNumeric(Me.Controls("TextBox" & i).Value) Then Valor = Me.Controls("TextBox" & i).Value 'Valor1 = Val(Valor1) + Val(Valor) Valor1 = Valor1 + Val(Valor) Else ' End If Next i Me.Label2.Caption = FormatNumber(Valor1, 2) End Sub
Hola Sergio como estas, muy buenos tus videos!!, hace rato que quiero encontrar algun codigo para c#, para sumar varios textbox y arrojar automaticamente el resultado en otro textbox pero sin botones, y la verdad que intente mil formas y no se como hacerlo. me podrias indicar si se puede y como seria, gracias, saludos
Sergio, no sabe cuánto llevo buscando esta solución. En esa búsqueda que encontre su canal y he aplicado sus enseñanzas para depurar mi proyecto. Muchas graciasss !! ahora le pregunta del millón? Cuando los campos en mi caso (80) ya lo nombre como "txtNOMBREX", que otra opción tendria entonces según lo comentado en el minuto 03,50. ?
Helbert, otra opción es recorrer todos los controles de un Formulario e identificar el tipo, si son botones, textos, combos, etc. Le decimos que si detecta un TextBox, tome el valor y lo vaya sumando. Alguien en este comentario puso algo que de relaciona con tu pregunta. Te agradezco además, por la idea de un nuevo video.
hola Sergio esta claro , pero como hago si tengo en el formulario mas texbox que no quiero sumar , porque al llamar a la coleccion de textbox los estarian inclullendo. gracias
a mi me sirvio este cambio: Private Sub CommandButton1_Click() Dim i Dim Valor ' As Integer Dim Valor1 ' As Integer For i = 1 To 17
If VBA.IsNumeric(Me.Controls("TextBox" & i).Value) Then Valor = Me.Controls("TextBox" & i).Value 'Valor1 = Val(Valor1) + Val(Valor) Valor1 = Valor1 + Val(Valor) Else ' End If Next i Me.Label2.Caption = FormatNumber(Valor1, 2) End Sub
Buen día Sergio, como se haría para que el resultado de las sumas sea automáticamente un textbox, es decir vamos ingresando números y que se vaya sumando . Gracias por tu respuesta
Buen día Sr. Alejandro,l de antemano agradecer su valiosa enseñanza, quisiera realizarle una consulta, tengo una base de datos en Access y quiero protegerla, pero esta enlazada a varios formularios de excel vba, y cada vez que ejecuto una macro para guardar, extraer, etc. me sale error. Existe una forma de proteger la base de datos y a la par ejecutar macros desde excel?
Hola , Dios te bendiga , yo estoy empezando un proyecto y necesito una macro par llevar el control de las horas trabajadas que sirva como para tres o cuatro personas , Día , fecha ,pausa para almorzar y hora de salida , total de horas , tarifa y total ha pagar , no tengo mucha experiencia , gracias déjame saber cualquier cosa gracias nuevamente
Yo lo hago más o menos así, pero para verificar controles vacíos. For each ctrl in userform.controls If typename(ctrl) = "textbox" and ctrl =Empty then End if Next ctrl
Necesito ayuda, tengo 15 ComboBox Con numeros del 1 al 20 cada uno, pero necesito que cada ComboBox multiplique por cada numero que se encuentra dentro en cantidades diferentes y me de resultado en un TextBox. Cada ComboBox son precios diferentes y platillos diferentes. ¿Pueden ayudar?
crea una estructura (lista, array) con los datos de tu lista de precios de tal forma que los indices de esta estructura sean congruentes con el sufijo de los texbox y listo, accedes a la par por el indice.
Hola Sergio: Primero saludarte y felicitarte por tu canal. Después, me gustaría saber en que ciudad te encuentras y ver si es posible contratarte para que me ayudes con unas macros para un programa de automatización de una empresa. me puedes pasar tu email por favor?
Seria genial que haya la opcion de smar los tex box pero sin tener que usar la agrupacion como texbox , normalmente usamos diferentes nombres para identificarlos , quise usarlos para que se muestre en una lista y no me funciono
Excelente el vídeo. Pero como hacemos cuando lo valores son decimales. He tratado de esta manera pero me sigue sumando enteros Sub SumarTextBox() Dim i Dim Valor As Double Dim Valor1 As Double For i = 33 To 48 If VBA.IsNumeric(UserForm1.Controls("TextBox" & i).Text) Then Valor = CDbl(Val(UserForm1.Controls("TextBox" & i).Text)) Valor1 = CDbl(Val(Valor1)) + CDbl(Val(Valor)) Else End If Next i UserForm1.lblstcaja.Caption = Format(CDbl(Val(Valor1) * 1), "#,##0.0000") UserForm1.lblstbot.Caption = Format(CDbl(Val(Valor1) * 1) / CDbl(12 * 1), "#,##0.0000") End Sub Me podría indicar que estoy haciendo mal Muchas Gracias por su atención l
Justo lo que necesitaba, excelente explicación, muchas gracias estimado Sergio.
La idea es optimizar la macro y éstos instructivos sencillos nos ayudan muchísimo. Menos código y mas eficiencia. Sugiero más videos de optimización. Gracias Sergio. Saludos 😎
Gracias Sergio , en el mismo ejemplo , como puedo contar los textbox que tengan datos mayores a cero, Saludos.
Muchas gracias por la ayuda . Un saludo
Me gusta mucho ese video excelente Sergio 🎊🎉🎊🎉🎊🎉🎊🎉🎊🎉
Buen aporte Sergio. gracias. Seria bueno si se puede en el curso de macros: el ver un tutorial para conectarnos a un XML como el de las facturas para poder sacar la información de estas de manera automatizada como importe, proveedor, etc de datos a través de sus diferentes nodos.
Excelente y gracias Sergio, como lo haría para incluir decimales??
Que tal Sergio excelente muchas gracias por la aportacion una pregunta sobre este video, es posible manejar decimales y tipo moneda
a mi me valió este cambio
Private Sub CommandButton1_Click()
Dim i
Dim Valor ' As Integer
Dim Valor1 ' As Integer
For i = 1 To 17
If VBA.IsNumeric(Me.Controls("TextBox" & i).Value) Then
Valor = Me.Controls("TextBox" & i).Value
'Valor1 = Val(Valor1) + Val(Valor)
Valor1 = Valor1 + Val(Valor)
Else
'
End If
Next i
Me.Label2.Caption = FormatNumber(Valor1, 2)
End Sub
Excelente comentario
Hola Sergio como estas, muy buenos tus videos!!, hace rato que quiero encontrar algun codigo para c#, para sumar varios textbox y arrojar automaticamente el resultado en otro textbox pero sin botones, y la verdad que intente mil formas y no se como hacerlo. me podrias indicar si se puede y como seria, gracias, saludos
Hola Sergio, fantástica tu explicación. Quisiera saber como sumar SOLO los TextBox que me interesan, no sé como identificarlos, Gracias.
Sergio, no sabe cuánto llevo buscando esta solución. En esa búsqueda que encontre su canal y he aplicado sus enseñanzas para depurar mi proyecto. Muchas graciasss !! ahora le pregunta del millón? Cuando los campos en mi caso (80) ya lo nombre como "txtNOMBREX", que otra opción tendria entonces según lo comentado en el minuto 03,50. ?
Helbert, otra opción es recorrer todos los controles de un Formulario e identificar el tipo, si son botones, textos, combos, etc. Le decimos que si detecta un TextBox, tome el valor y lo vaya sumando. Alguien en este comentario puso algo que de relaciona con tu pregunta. Te agradezco además, por la idea de un nuevo video.
Gracias! Me salvo xd
Gracias a ti.
hola Sergio esta claro , pero como hago si tengo en el formulario mas texbox que no quiero sumar , porque al llamar a la coleccion de textbox los estarian inclullendo. gracias
cambias el nombre de los textbox que no quieras llamar, asi no seran incluidos en la iteracion
existe otra manera de hacer la suma sin un bucle? se podría usar la función suma o algún otro método parecido
muy buenos tus videos, me pregunto, cómo harías que conforme capturas en cada textbox, en otro textbos se vaya viendo la suma?
a mi me sirvio este cambio:
Private Sub CommandButton1_Click()
Dim i
Dim Valor ' As Integer
Dim Valor1 ' As Integer
For i = 1 To 17
If VBA.IsNumeric(Me.Controls("TextBox" & i).Value) Then
Valor = Me.Controls("TextBox" & i).Value
'Valor1 = Val(Valor1) + Val(Valor)
Valor1 = Valor1 + Val(Valor)
Else
'
End If
Next i
Me.Label2.Caption = FormatNumber(Valor1, 2)
End Sub
Disculpas el mensaje era para el siguiente comentario
creas la subrutina en un modulo, luego la mandas a llamar en cada textbox en su evento change
Hola Sergio, muchas gracias , me hubiese gustado que la etiqueta del resultado estuviera transparente en cero.Saludos
Supongo que con el evento initialize (creo que es evento), le puedes poner que diga 0 o algo así al abrir el formulario.
buena la solución Sergio, pero cuando los valores son decimales no los toma como tal, donde hay que ponerle el formato de de numero ?
Saludos. Y cómo puedo mandar el resultado a una tabla?
Buen día Sergio, como se haría para que el resultado de las sumas sea automáticamente un textbox, es decir vamos ingresando números y que se vaya sumando . Gracias por tu respuesta
creas la subrutina en un modulo, luego la mandas a llamar en cada textbox en su evento change
Buen día Sr. Alejandro,l de antemano agradecer su valiosa enseñanza, quisiera realizarle una consulta, tengo una base de datos en Access y quiero protegerla, pero esta enlazada a varios formularios de excel vba, y cada vez que ejecuto una macro para guardar, extraer, etc. me sale error.
Existe una forma de proteger la base de datos y a la par ejecutar macros desde excel?
cnn.Properties("Jet OLEDB:Database Password") =
Hola , Dios te bendiga , yo estoy empezando un proyecto y necesito una macro par llevar el control de las horas trabajadas que sirva como para tres o cuatro personas , Día , fecha ,pausa para almorzar y hora de salida , total de horas , tarifa y total ha pagar , no tengo mucha experiencia , gracias déjame saber cualquier cosa gracias nuevamente
Yo lo hago más o menos así, pero para verificar controles vacíos.
For each ctrl in userform.controls
If typename(ctrl) = "textbox" and ctrl =Empty then
End if
Next ctrl
Muchas gracias! Todos los vídeos me han sido muy útiles
Y si fuera por resta, multiplicación y división como seria solo se reemplaza el más por el menos o como seria hay ?
Me parece que si a valor se le inicia con 0 antes del ciclo for, no es necesario utilizar una variable adicional
Necesito ayuda, tengo 15 ComboBox Con numeros del 1 al 20 cada uno, pero necesito que cada ComboBox multiplique por cada numero que se encuentra dentro en cantidades diferentes y me de resultado en un TextBox. Cada ComboBox son precios diferentes y platillos diferentes. ¿Pueden ayudar?
crea una estructura (lista, array) con los datos de tu lista de precios de tal forma que los indices de esta estructura sean congruentes con el sufijo de los texbox y listo, accedes a la par por el indice.
Hola Sergio: Primero saludarte y felicitarte por tu canal. Después, me gustaría saber en que ciudad te encuentras y ver si es posible contratarte para que me ayudes con unas macros para un programa de automatización de una empresa. me puedes pasar tu email por favor?
Seria genial que haya la opcion de smar los tex box pero sin tener que usar la agrupacion como texbox , normalmente usamos diferentes nombres para identificarlos , quise usarlos para que se muestre en una lista y no me funciono
Ayuda :'v, en vez de que la suma total salga en un textview, como hacer para que salga en un textbox, help por favor :'(
Excelente el vídeo. Pero como hacemos cuando lo valores son decimales. He tratado de esta manera pero me sigue sumando enteros
Sub SumarTextBox()
Dim i
Dim Valor As Double
Dim Valor1 As Double
For i = 33 To 48
If VBA.IsNumeric(UserForm1.Controls("TextBox" & i).Text) Then
Valor = CDbl(Val(UserForm1.Controls("TextBox" & i).Text))
Valor1 = CDbl(Val(Valor1)) + CDbl(Val(Valor))
Else
End If
Next i
UserForm1.lblstcaja.Caption = Format(CDbl(Val(Valor1) * 1), "#,##0.0000")
UserForm1.lblstbot.Caption = Format(CDbl(Val(Valor1) * 1) / CDbl(12 * 1), "#,##0.0000")
End Sub
Me podría indicar que estoy haciendo mal
Muchas Gracias por su atención
l
'