Ya dijeron: solo hace poesía, pues va una función para excel y les dejo el archivo adjunto

meses a años

‘Función para traducir el número de meses a años y meses en texto
‘Función creada por Carlos Vázquez Moreno
’05/11/2013

Public Function Mounthtoyear(meses1 As Double) As String

‘Se Define el argumento meses1 como variable de tipo doble y la función Mounthtoyear como texto (String)

Dim mesesalaño As Double
mesesalaño = 12
‘Se define la variable “mesesalaño” como doble y se da un valor de 12

years = meses1 / mesesalaño
‘Se calcula el número de años
year1 = Int(years)
‘Se convierte en números enteros la variable “years”

mounth1 = meses1 Mod mesesalaño
‘Se calcula el residuo para conocer el número de meses

año = CStr(year1)
mes = CStr(mounth1)
‘Se convierte a variables texto las variables “year1” y “mounth1” para poder usarlas en la función

‘Se usa el condicional If—>Elseif para que la función devuelva todas las combinaciones posibles

If mounth1 >= 2 And year1 >= 2 Then

Mounthtoyear = año & ” ” & “años” & ” ” & “y” & ” ” & mes & ” ” & “meses”

‘La función va a devolver plurales, ejemplo: 23 años y 3 meses

ElseIf mounth1 = 0 And year1 > 1 Then

Mounthtoyear = año & ” ” & “años”

‘La función va a devolver plural de años sin meses, ejemplo: 5 años

ElseIf year1 = 1 And mounth1 = 0 Then

Mounthtoyear = año & ” ” & “año”

‘La función va a devolver singular en años sin meses, ejemplo: 1 año

ElseIf year1 = 0 And mounth1 = 1 Then

Mounthtoyear = mes & ” ” & “mes”

‘La función va a devolver singular en meses sin años, ejemplo: 1 mes

ElseIf year1 = 0 And mounth1 > 1 Then

Mounthtoyear = mes & ” ” & “meses”

‘La función va a devolver plural en meses sin años, ejemplo: 3 meses

ElseIf year1 = 1 And mounth1 = 1 Then

Mounthtoyear = año & ” ” & “año” & ” ” & “y” & ” ” & mes & ” ” & “mes”

‘La función va a devolver singular en meses y años, ejemplo: 1 año y 1 mes

ElseIf year1 > 1 And mounth1 = 1 Then

Mounthtoyear = año & ” ” & “años” & ” ” & “y” & ” ” & mes & ” ” & “mes”

‘La función va a devolver plural en años y singular en meses, ejemplo: 2 años y 1 mes

ElseIf year1 = 1 And mounth1 > 1 Then

Mounthtoyear = año & ” ” & “año” & ” ” & “y” & ” ” & mes & ” ” & “meses”

‘La función va a devolver singular en años y plural en meses, ejemplo: 1 años y 11 meses

End If

End Function

Anuncios

2 pensamientos en “Ya dijeron: solo hace poesía, pues va una función para excel y les dejo el archivo adjunto

  1. Marcelo dice:

    Que buen aporte, a la espera de más funciones

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s