Me gusto mucho este tema y función, hice un arreglo menor para usarla dentro de un FOR para tener una lista de quincenas secuenciales.
Lo interesante de la función, es que trabaja bien tanto en VB6.0 como en VB.NET sin problemas.
Código vb:
Ver originalFunction CalcQuincenas(ByVal Qnas As Integer, ByVal Fecha As Date) As String
'=======================================================
'Calculo de las fechas que caen en quincena, es decir los dias 15 y 30 de cada mes con
'dos parametros, Qnas como entero es el que nos dice cuantas fechas tenemos que buscar
'apartir de la fecha indicada en el segundo parametro, en este caso es Fecha como Date.
'========================================================
Dim dia, mes, año As Integer
Dim x As Integer
Dim Fechas As String = ""
Dim UltDia As Integer
dia = DateAndTime.Day(Fecha) : mes = Month(Fecha) : año = Year(Fecha)
For x = 1 To Qnas
Fechas = ""
If dia <= 15 Then
Fechas = DateSerial(año, mes, 15) & " "
dia = 16
Else
UltDia = DateAndTime.Day(DateSerial(año, mes + 1, 0))
If UltDia = 31 Then
Fechas = DateSerial(año, mes + 1, -1) & " "
Else
Fechas = DateSerial(año, mes + 1, 0) & " "
End If
mes = mes + 1
dia = 15
End If
Next
CalcQuincenas = Fechas
End Function