Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como SUMAR FECHAS en TEXTBOX en TIEMPO REAL o Simultáneamente en EXCEL VBA #584

Sumar fechas en textbox en tiempo real

SUMA DE FECHAS EN TEXTBOX EN TIEMPO REAL O MIENTRAS SE ESCRIBE

Este post muestra una macro que permite sumar fechas en tiempo real en un textbox de un userform de Excel VBA, a medida que se ingresa una fecha en un textbox de Excel se sumará en otro texbox la fecha ingresada más una cantidad de días que se encuentra en otro textbox, lo mencionado se hace en tiempo real o a medida que se escribe.

Maneja Excel como los mejores deberías hacer click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los ❤️MEJORES CURSOS de EXCEL ON LINE❤️ que he visto en internet, te lo recomiendo no te arrepentirás.

  
Puedes ver la macro en acción y una explicación más detallada de su codificación y funcionamiento, descarga el archivo y mira el video para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil. Te pido que me sigas y comentes en DTube y Odysee para poder seguir publicado macros gratis.

MACRO PARA SUMAR TEXTBOX CON FECHAS MIENTRAS SE ESCRIBE O EN TIEMPO REAL

En el  se observará un botón presionando el mismo se muestra un formulario con varios textbox, en el primer textbox que está destinado al ingreso de una fecha, se debe ingresar la fecha requerida, en el textbox siguiente se debe ingresar la cantidad de días que se desean sumar, eso queda fijo no es necesario agregarlo cada vez para que sume en forma automática, siempre toma la cantidad de días como un valor constante para sumar los textbox.

La macro se ejecuta en el evento change de los textbox, es decir que apenas cambié los datos del Textbox se procederá a realizar la macro asignada en forma  simultánea, en este caso la macro realiza una suma de fechas en textbox.

Explicación de la Macro Excel PARA SUMAR TEXTBOX EXCEL VBA EN TIEMPO REAL O SIMULTANEAMENTE

La codificación se encuentra en el primer textbox y el segundo, cuyos nombres son Textbox7 y Texbox8, siendo el Textbox9 donde se mostrará la suma de la fecha ingresada y la cantidad de días cuyo número está en el Textbox8.

La codificación reemplaza » – »  por «/ «, esto es por si se ha ingresado fecha con formato «dd-mm-yyyy», de la siguiente manera:

UserForm1.TextBox7 = Replace(UserForm1.TextBox7, «-«, «/»)

Luego en el Texbox9 se procede a mostrar la suma de la fecha ingresada y cantidad de días ingresados en el Textbox 8, así:

UserForm1.TextBox9 = CDate(UserForm1.TextBox7) + Val(UserForm1.TextBox8)

Luego da formato fecha al Textbox9 que es donde se mostrará el resultado de la suma de los dos textbox anteriores:

UserForm1.TextBox9 = Format(UserForm1.TextBox9, «dd/mm/yyyy»)

En el textbox siguiente, el cual tiene los días a sumar, también se agrega en el evento Change la macro, con ello se logra suma en tiempo real.

La macro solo se ejecutará al cambiar el Textbox8 si en el Texbox7 o anterior existe un dato, es decir no está vacío, para ello verifica tal situación con código, de la siguiente manera:

If IsDate(UserForm1.TextBox7) Then

En caso que haya en el Textbox8 un dato ingresado, procede a limpiar el Textbox9, eliminando datos que pudiera contener
UserForm1.TextBox9 = Clear

Se reemplaza «-» por » / «, se suma el Textbox7 más los días que figuran en el Textbox8  y da el resultado en Textbox9, si observan es prácticamente los mismos comandos que se ejecutan en el Texbox7 o primer textbox que se ve en el formulario, los códigos usados son:

UserForm1.TextBox7 = Replace(UserForm1.TextBox7, «-«, «/») UserForm1.TextBox9 = CDate(UserForm1.TextBox7) + Val(UserForm1.TextBox8)
UserForm1.TextBox9 = Format(UserForm1.TextBox9, «dd/mm/yyyy»)

Código Para Abrir SUMAR FECHAS EN TEXTBOX AL MISMO TIEMPO QUE SE ESCRIBE

Código que va en Textbox de Userform VBA Excel

Private Sub TextBox7_Change()
On Error Resume Next
If (UserForm1.TextBox7) = Empty Then UserForm1.TextBox9 = Clear
If IsDate(UserForm1.TextBox7) Then
UserForm1.TextBox9 = Clear
UserForm1.TextBox7 = Replace(UserForm1.TextBox7, «-«, «/»)
UserForm1.TextBox9 = CDate(UserForm1.TextBox7) + Val(UserForm1.TextBox8)
UserForm1.TextBox9 = Format(UserForm1.TextBox9, «dd/mm/yyyy»)
End If
End Sub

Private Sub TextBox8_Change()
On Error Resume Next
If IsDate(UserForm1.TextBox7) Then
UserForm1.TextBox9 = Clear
UserForm1.TextBox7 = Replace(UserForm1.TextBox7, «-«, «/») ‘Si se usa . como separador decimal cambiar punto Replace(UserForm1.TextBox1, «,», «.»)
UserForm1.TextBox9 = CDate(UserForm1.TextBox7) + Val(UserForm1.TextBox8)
UserForm1.TextBox9 = Format(UserForm1.TextBox9, «dd/mm/yyyy»)
End If

End Sub


 

Puedes DESCARGAR el Libro de Ejemplo Como Sumar Fechas Textbox en Forma Automática o Tiempo Real

Descarga el fichero usado como ejemplo en este post y en el vídeo explicativo, el mismo es totalmente gratuito y su uso es libre, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Donate:
👉⏩ Cuenta Paypal: https://paypal.me/programarexcel

👉⏩ Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd

👉⏩ Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

👉⏩ Cuenta Skrill: marcrodos@yahoo.es

👉⏩ Cuenta Neteller: marcrodos@yahoo.es

👉⏩ Apoya mi trabajo https://www.patreon.com/programarexcel

👉⏩ Sígueme en DTube: https://d.tube/#!/c/programarexcel01

👉⏩ Sígueme en Odysee: https://odysee.com/@programarexcel:3