Hola:
Asi al vuelo se me ha ocurrido lo siguiente:
Código vb:
Ver originalPrivate Sub Quincenas(Año As Integer)
Dim Mes As Integer
For Mes = 1 To 12
List1.Additem DateSerial(Año, Mes, 1) & " " & DateSerial(Año, Mes, 15)
List1.Additem DateSerial(Año, Mes, 16) & " " & DateAdd("d", -1, DateSerial(Año, Mes + 1, 1))
Next
End Sub
Para probarlo simplemente necesitas añadir un Command1 y un List1 en un proyecto nuevo, después prueba lo siguiente:
Código vb:
Ver originalPrivate Sub Command1_Click()
Quincenas 2008 'Aqui indicas el año que quieras.
End Sub
Si te sirve la idea y tienes alguna duda del código te lo comento.
La primera parte es lógica puesto que la 1ª quincena siempre es la misma de 01 al 15
La segunda quincena siempre empieza en el 16 y llega a fin de mes, por lo que la funcion obtiene el día 1 del mes siguiente y le resta 1 con lo que conseguimos el último día del mes anterior.
Saludos