excel中使用vba批量计算个人所得税的方法
1、首先我们打开一个工作样表,这是一份工资表。

2、打开vba编辑器,在代码框中,输入以下代码。
Function 个人所得税(curP As Currency)
curP = curP - 1600 '1600为免征额
If curP > 0 Then
Select Case curP
Case Is <= 500
suo = curP * 0.05
Case Is <= 2000
suo = (curP - 500) * 0.1 + 25
Case Is <= 5000
suo = (curP - 2000) * 0.15 + 125
Case Is <= 20000
suo = (curP - 5000) * 0.2 + 375
Case Is <= 40000
suo = (curP - 20000) * 0.25 + 1375
Case Is < 60000
suo = (curP - 40000) * 0.3 + 3375
Case Is < 80000
suo = (curP - 60000) * 0.35 + 6375
Case Is < 100000
suo = (curP - 80000) * 0.4 + 10375
Case Else
suo = (curP - 100000) * 0.45 + 15375
End Select
个人所得税 = suo
Else
个人所得税 = 0
End If
End Function

3、新建一个过程sub,代码如下。
Sub 计算()
For i = 6 To 13
Sheets(1).Cells(i, 15).Value = 个人所得税(Sheets(1).Cells(i, 14).Value)
Next
End Sub

4、代码是调用个人所得税函数,计算N6-N13单元格工资的所得税额,并将结果写入O6-O13单元格中。

5、我们在5月工资也就是sheet1工作薄中插入一个控件按钮,并将其关联到“计算”过程。如果你是其他格式的表格,只需要修改步骤三中的表格数据位置即可正常使用。

6、以后有需要的时候,只要将数据输入对应的单元格内,然后点击按钮就可以正确的得到了个人所得税的结果了。当然,你也可以自行调用vba运行函数,效果是一样的。
