|
楼主 |
发表于 2024-9-27 09:23
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub 女55txcx()
' 2024-9-27
' 规则:原55岁退休的女性从1970年1月-1981年12月,期间出生的人群(12个年龄段),进行每4个月延迟退休1个月的过渡期
' 以出生年月推算所需延迟的月数
' 功用:依据所输的出生年月,计算延迟退休月数等
Dim Xb, Csny, Nf, Yf, N1, N2, Nh, Yh, Ys, Ycys, Ycn, Ycy
Xb = "女"
Csny = "1978年12月" ' 请根据需要输入出生年月,注意模式的规范!
If InStr(1, Csny, "年", 1) < 5 Or InStr(1, Csny, "月", 1) = 0 Then
MsgBox "所输入的出生年月,不规范,无法计算 !"
Exit Sub
End If
If Xb = "女" And (Csny <= "1969年12月" Or Csny >= "1982年1月") Then
MsgBox "所要计算的年龄,为非过渡期年龄 !!!"
Exit Sub
End If
N1 = InStr(1, Csny, "年", 1)
N2 = InStr(1, Csny, "月", 1)
Nh = Mid(Csny, 1, N1 - 1)
Yh = Mid(Csny, N1 + 1, N2 - N1 - 1)
Ys = Yh + (Nh - 1970) * 12
If Ys / 4 = Int(Ys / 4) Then
Ycys = Ys / 4
Else
Ycys = Int(Ys / 4) + 1
End If
MsgBox "需要延迟退休的月数为:" & Ycys & "个月"
Ycn = Int(Ycys / 12)
Ycy = Ycys Mod 12
If Ycy = 0 Then
MsgBox "改革后法定退休年龄为:" & 55 + Ycn & "岁"
Else
MsgBox "改革后法定退休年龄为:" & 55 + Ycn & "岁" & Ycy & "个月"
End If
If Yh + Ycy > 12 Then
MsgBox "改革后退休时间为:" & Nh + 55 + Ycn + 1 & "年" & Yh + Ycy - 12 & "月"
Else
MsgBox "改革后退休时间为:" & Nh + 55 + Ycn & "年" & Yh + Ycy & "月"
End If
End Sub
Sub 女50txcx()
' 2024-9-27
' 规则:原55岁退休的女性从1975年1月-1984年12月,期间出生的人群(10个年龄段),进行每2个月延迟退休1个月的过渡期
' 以出生年月推算所需延迟的月数
' 功用:依据所输的出生年月,计算延迟退休月数等
Dim Xb, Csny, Nf, Yf, N1, N2, Nh, Yh, Ys, Ycys, Ycn, Ycy
Xb = "女"
Csny = "1981年12月" ' 请根据需要输入出生年月,注意模式的规范!
If InStr(1, Csny, "年", 1) < 5 Or InStr(1, Csny, "月", 1) = 0 Then
MsgBox "所输入的出生年月,不规范,无法计算 !"
Exit Sub
End If
If Xb = "女" And (Csny <= "1974年12月" Or Csny >= "1985年1月") Then
MsgBox "所要计算的年龄,为非过渡期年龄 !!!"
Exit Sub
End If
N1 = InStr(1, Csny, "年", 1)
N2 = InStr(1, Csny, "月", 1)
Nh = Mid(Csny, 1, N1 - 1)
Yh = Mid(Csny, N1 + 1, N2 - N1 - 1)
Ys = Yh + (Nh - 1975) * 12
If Ys / 2 = Int(Ys / 2) Then
Ycys = Ys / 2
Else
Ycys = Int(Ys / 2) + 1
End If
MsgBox "需要延迟退休的月数为:" & Ycys & "个月"
Ycn = Int(Ycys / 12)
Ycy = Ycys Mod 12
If Ycy = 0 Then
MsgBox "改革后法定退休年龄为:" & 50 + Ycn & "岁"
Else
MsgBox "改革后法定退休年龄为:" & 50 + Ycn & "岁" & Ycy & "个月"
End If
If Yh + Ycy > 12 Then
MsgBox "改革后退休时间为:" & Nh + 50 + Ycn + 1 & "年" & Yh + Ycy - 12 & "月"
Else
MsgBox "改革后退休时间为:" & Nh + 50 + Ycn & "年" & Yh + Ycy & "月"
End If
End Sub
如果你想要对Sheet表上的多个进行计算,则请加上循环,并将几个 MsgBox 修改成写入单元格的语句 ,即可! |
|