Excel宏的录入

来源:百度知道 编辑:UC知道 时间:2024/06/09 17:46:18
Sub 所得税()
Dim 收入额, 应交所得税 As Single
Dim 人数 As Integer
Dim 姓名, 公式 As String
Range("a2").Value = "姓名"
Range("b2").Value = "收入额"
Range("c2").Value = "应交所得税"
Range("d2").Value = "所得税公式"
人数 = InputBox("请输入交所得税人数")
For i = 1 To 人数
姓名 = InputBox("请输入交增值税人姓名")
收入额 = Val(InputBox("请输入本月收入金额"))
If 收入额〈1500 And 收入额 > 1000 Then
所得税公式 = "(收入额-1000)*5%"
If 收入额〈3000 And 收入额 > 1500 Then
所得税公式 = "(收入额-1000)*10%-25"
If 收入额〈6000 And 收入额 > 3000 Then
所得税公式 = "(收入额-1000)*15%-125"
If 收入额〈21000 And 收入额 > 6000 Then
所得税公式 = "(收入额-1000)*20%-375"
If 收入额〈41000 And 收入额 > 21000 Then
所得税公式 = "(收入额-1000)*25%-1375"
If 收入额 >= 41000 Then
所得税公式 = "(收入额-1000)*30%-3375"
Cells(i + 2, 1).Value = 姓名
Cells(i + 2, 2).Value

你的程序有很多问题,不光是END IF的问题,还有值的引用问题,我改了一下,你可以直接复制用了

Sub 所得税()
Dim 收入额, 应交所得税 As Single
Dim 人数 As Integer
Dim 姓名, 公式 As String
Range("a2").Value = "姓名"
Range("b2").Value = "收入额"
Range("c2").Value = "应交所得税"
Range("d2").Value = "所得税公式"
人数 = InputBox("请输入交所得税人数")
For i = 1 To 人数
姓名 = InputBox("请输入交增值税人姓名")
收入额 = Val(InputBox("请输入本月收入金额"))

If 收入额 < 1500 And 收入额 > 1000 Then
所得税公式 = (收入额 - 1000) * 0.05
ElseIf 收入额 < 3000 And 收入额 > 1500 Then
所得税公式 = (收入额 - 1000) * 0.1 - 25
ElseIf 收入额 < 6000 And 收入额 > 3000 Then
所得税公式 = (收入额 - 1000) * 0.15 - 125
ElseIf 收入额 < 21000 And 收入额 > 6000 Then
所得税公式 = (收入额 - 1000) * 0.2 - 375
ElseIf 收入额 < 41000 And 收入额 > 21000 Then
所得税公式 = (收入额 - 1000) * 0.25 - 1375
ElseIf 收入额 >= 41000 Then
所得税公式 = (收入额