[RESUELTO] función para calcular la fecha de próximo trienio

Discute sobre la aplicación de hojas de cálculo

[RESUELTO] función para calcular la fecha de próximo trienio

Notapor userpepe » Vie Jul 20, 2018 10:44 am

Hola a todos;

Soy nuevo en esto de vba y macros y tengo algún problema con el que quizá podais ayudarme.
Estoy intentando calcular la fecha del proximo trienio de un trabajador, teniendo como dato la fecha de inicio.
He intentado crear una funcion, pero no encuentro el error... :(

Os dejo el codigo por si podeis echarme una mano. Muchas gracias

Function trienios(F_alta) as Date
Dim nDia As Integer ' Día de la fecha de inicio.
Dim nMes As Integer ' Mes de la fecha de inicio.
Dim nAno As Integer ' Año de la fecha de inicio.
Dim F_alta as Date

nAno = Year(F_alta)
nMes = Month(F_alta)
nDia = Day(F_alta)

Do while nAno < Year(Now)

nAno = nAno + 3

Exit Do
Loop

If nDia > 1 And nMes = 12 Then
nMes = 1
nAno = nAno + 1
ElseIf nMes < 12 Then
nMes = nMes + 1
EndIf


trienios = cDate(DateSerial(nAno, nMes, 1))

End Function
userpepe
 
Mensajes: 12
Registrado: Jue Jul 19, 2018 6:44 pm

Re: funcion para calcular la fecha del proximo trienio

Notapor RMG » Vie Jul 20, 2018 12:00 pm

Hola,

Prueba esto más sencillo. Puedes hacerlo si lo prefieres directamente en el sub en vez de la función.

Código: Seleccionar todo   Expandir vistaContraer vista
Sub macrotrienio()'macro llamada a la funcion
print TRIENIO 'valor de la funcion
End Sub

Function trienio()'(F_inicio As Date)
Dim F_inicio As Date
F_inicio = "20/10/2018"
TRIENIO = DateAdd ("yyyy", +3, F_inicio)
End Function


Saludos
OpenOffice 4.1.5 y LibreOffice 5.4.5.1 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3387
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: funcion para calcular la fecha del proximo trienio

Notapor userpepe » Sab Jul 21, 2018 7:29 pm

Hola RMG

Muchas gracias por contestar.
De la forma que me dices solo sumas tres años a una fecha no?

yonecesito saber cual va ser la fecha del proximo trienio, que siga sumando tres años a esa fecha hasta que el resultado sea superior a la fecha actual.
Un saludo
userpepe
 
Mensajes: 12
Registrado: Jue Jul 19, 2018 6:44 pm

Re: funcion para calcular la fecha del proximo trienio

Notapor fornelasa » Mié Jul 25, 2018 10:02 pm

No sé si he entendido bien, a ver:
La formula "=trienio" está en Ctrl+F3 <> trienio
Saludos, Federico.
Adjuntos
Trienios.ods
Trienios
(13.97 KiB) 38 veces
lo 6.1.2 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3134
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: funcion para calcular la fecha del proximo trienio

Notapor userpepe » Jue Jul 26, 2018 11:24 am

Hola fornelasa;

Lo has entendido perfectamente! Muchas gracias por responder.
El único problema que le encuentro es con los trienios que se cumplen en el mes que estamos ahora. Se pasa directamente al siguiente.
userpepe
 
Mensajes: 12
Registrado: Jue Jul 19, 2018 6:44 pm

Re: funcion para calcular la fecha del proximo trienio

Notapor fornelasa » Jue Jul 26, 2018 12:21 pm

El único problema que le encuentro es con los trienios que se cumplen en el mes que estamos ahora. Se pasa directamente al siguiente.

Indica por favor uno o dos o tres..... ejemplos concretos con fechas para ver esos casos.
Originalmente dijimos :
yo necesito saber cual va ser la fecha del proximo trienio, que siga sumando tres años a esa fecha hasta que el resultado sea superior a la fecha actual.

Saludos.
lo 6.1.2 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3134
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: funcion para calcular la fecha del proximo trienio

Notapor userpepe » Vie Jul 27, 2018 9:22 am

Hola Fornelasa;

Tu respuesta me sirvio perfectamente; La idea es:
1. Que una persona que cumple un trienio en un día que no sea el día 1 de un mes se pasa al dia 1 del mes siguiente.
2. Que yo pueda en el mes actual ver todos los que cumplen un trienio este mes.

A partir de tu formula he intentado cumplir estas dos normas que te comento.
Te subo archivo y la ultima fecha añadida sería el que cumple trienio este mes.

Seguramente no es la forma más elegante pero me funciona :P

Muchas gracias
Adjuntos
Trienios 2.0.ods
(22.41 KiB) 32 veces
userpepe
 
Mensajes: 12
Registrado: Jue Jul 19, 2018 6:44 pm

Re: funcion para calcular la fecha del proximo trienio

Notapor fornelasa » Vie Jul 27, 2018 5:28 pm

¡Perfecto! que bueno que ha quedado resuelto.

Solo cómo comentario, considero que pediste una cosa y terminaste haciendo otra distinta, claramente son dos cosas diferentes:
userpepe escribió:yo necesito saber cual va ser la fecha del próximo trienio, que siga sumando tres años a esa fecha hasta que el resultado sea superior a la fecha actual
Que una persona que cumple un trienio en un día que no sea el día 1 de un mes se pasa al dia 1 del mes siguiente.

Recuerda, cuando los temas han sido resueltos debemos marcarlos como tal, aquí nos dicen como hacerlo: https://forum.openoffice.org/es/forum/v ... f=3&t=2668

Saludos, Federico.
lo 6.1.2 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3134
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 14 invitados