Tá aí, basta fazer as adaptações para o seu caso:
'GERANDO MENSALIDADES:
Private Sub cmdgeramensalidades_Click()
Dim mes As Integer
Dim ano As Integer
Dim data As String
mes = Format(Now, "mm")
ano = Format(Now, "yy")
For i = 1 To Val(txtnumeroparcelas.Text)
mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If
dia1 = Format(Now, "dd")
dia = Verifica_dia(dia1, mes)
data = dia & "/" & Format(mes, "00") & "/" & Format(ano, "0000")
parcela = CCur(txtvalor.Text) / Val(txtnumeroparcelas.Text)
Data2.Recordset.AddNew
Data2.Recordset.Fields(1) = CLng(txtcodigo.Text)
Data2.Recordset.Fields(2) = Format(CDate(data), "dd/mm/yyyy")
Data2.Recordset.Fields(3) = CCur(parcela)
Data2.Recordset.Fields(4) = False
Data2.Recordset.Update
Next
End Sub
'FUNÇÃO PARA CONTROLE DO DIA DO VENCIMENTO:-----------------
'Nota: No VB 6 o primeiro índice de um array é igual a zero,
'assim : diasDoMes(0) é igual a 31 , etc.. É por isto que eu
'subtraio 1 do mês atual (mes de janeiro) - 1 = 0). ---------
'MÊS DE FEVEREIRO: Se o ano for divisível por 4, então será bissexto
'com 29 dias no mês; caso contrário, terá apenas 28 dias..
Public Function Verifica_dia(dia, mes)
Dim diasDoMes As Variant
dia = Val(dia)
diasDoMes = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) 'jan, fev...
If dia = 31 Then
Verifica_dia = diasDoMes(mes - 1)
Else
Verifica_dia = dia
End If
End Function