Function kyo(year As Integer, sk, m1, f1, m2, f2, m3, f3, m4, f4, m5, f5) As Single
Dim s1 As Single
Dim s2 As Single
Dim rate As Single
Dim y1 As Single
y1 = year
If y1 > 50 Then y1 = 50
rate = 0.6 + 0.2 * (y1 - 5) / 45
s1 = 0
For age = 20 To 59
s1 = s1 + rate * m1(year, age) + m2(year, age) + m3(year, age) + m4(year, age) + m5(year, age)
s1 = s1 + rate * f1(year, age) + f2(year, age) + f3(year, age) + m4(year, age) + m5(year, age)
Next
s2 = 0
For age = 20 To 59
s2 = s2 + m2(year, age) + m3(year, age)
s2 = s2 + f2(year, age) + f3(year, age)
Next
kyo = s2 * sk(year) / s1
End Function
Private Sub Command1_Click()
Dim year As Integer
Dim age As Integer
Dim su(-5 To 99) As Single
Dim sk(-5 To 99) As Single
Dim m2(-5 To 99, 16 To 65) As Single
Dim f2(-5 To 99, 16 To 65) As Single
Dim m3(-5 To 99, 16 To 65) As Single
Dim f3(-5 To 99, 16 To 65) As Single
Dim m1(-5 To 99, 16 To 65) As Single
Dim f1(-5 To 99, 16 To 65) As Single
Dim m4(-5 To 99, 16 To 65) As Single
Dim f4(-5 To 99, 16 To 65) As Single
Dim m5(-5 To 99, 16 To 65) As Single
Dim f5(-5 To 99, 16 To 65) As Single
Dim a1 As Single
Dim a2 As Single
Dim n As Integer
Dim g As Single
Open "c:/simple/gdata/基礎年金給付費.txt" For Input As #1
Do Until EOF(1)
Input #1, a1, a2
year = a1
sk(year) = a2
Loop
Close #1
Open "c:/simple/gdata/厚生年金被保険者.txt" For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3, a4
year = a1
age = a2
m2(year, age) = a3
f2(year, age) = a4
Loop
Close #2
Open "c:/simple/gdata/厚生3号被保険者.txt" For Input As #3
Do Until EOF(3)
Input #3, a1, a2, a3, a4
year = a1
age = a2
m3(year, age) = a3
f3(year, age) = a4
Loop
Close #3
Open "c:/simple/gdata/国民年金被保険者.txt" For Input As #4
Do Until EOF(4)
Input #4, a1, a2, a3, a4
year = a1
age = a2
m1(year, age) = a3
f1(year, age) = a4
Loop
Close #4
Dim kys(0 To 99) As Single
Open "c:/simple/gdata/共済年金被保険者.txt" For Input As #5
Do Until EOF(5)
Input #5, a1, a2, a3, a4
year = a1
age = a2
m4(year, age) = a3
f4(year, age) = a4
Loop
Close #5
Open "c:/simple/gdata/共済3号被保険者.txt" For Input As #7
Do Until EOF(7)
Input #7, a1, a2, a3, a4
year = a1
age = a2
m5(year, age) = a3
f5(year, age) = a4
Loop
Close #7
Open "c:/simple/gdata/基礎年金拠出金.txt" For Output As #6
For year = 0 To 99
Write #6, year, Int(100 * kyo(year, sk, m1, f1, m2, f2, m3, f3, m4, f4, m5, f5)) / 100
Next
Close #6
For n = 1 To 5
year = 5 * n
Debug.Print year, Int(kyo(year, sk, m1, f1, m2, f2, m3, f3, m4, f4, m5, f5) * 100) / 100
Next
For n = 3 To 6
year = 10 * n
Debug.Print year, Int(100 * kyo(year, sk, m1, f1, m2, f2, m3, f3, m4, f4, m5, f5)) / 100
Next
End Sub
最終更新:2009年03月01日 23:41