w2001pf
发表于 2012-2-17 09:29
Sub 单元格填充()
With Sheets("sheet3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
Function GeShui(gz) '注gz为引用单元格中的工资数额
Select Case gz
Case Is <= 3500
GeShui = 0
Case Is <= 5000
GeShui = (gz - 3500) * 0.03
Case Is <= 8000
GeShui = (gz - 3500) * 0.1 - 105
Case Is <= 12500
GeShui = (gz - 3500) * 0.2 - 555
Case Is <= 38500
GeShui = (gz - 3500) * 0.25 - 1005
Case Is <= 58500
GeShui = (gz - 3500) * 0.3 - 2755
Case Is <= 83500
GeShui = (gz - 3500) * 0.35 - 5505
Case Is > 83500
GeShui = (gz - 3500) * 0.45 - 13505
Case Else
End Select
End Function
sunjing-zxl
发表于 2012-2-17 09:53
E学委:sunjing-zxlSub 单元格填充()
With Sheets("sheets")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
Function GeShui(gz As Double)
If gz - 3500 <= 0 Then
GeShui = 0
ElseIf gz - 3500 <= 1500 Then
GeShui = (gz - 3500) * 3 / 100
ElseIf gz - 3500 <= 4500 Then
GeShui = (gz - 3500) * 10 / 100 - 105
ElseIf gz - 3500 <= 9000 Then
GeShui = (gz - 3500) * 20 / 100 - 555
ElseIf gz - 3500 <= 35000 Then
GeShui = (gz - 3500) * 25 / 100 - 1005
ElseIf gz - 3500 <= 55000 Then
GeShui = (gz - 3500) * 30 / 100 - 2755
ElseIf gz - 3500 <= 80000 Then
GeShui = (gz - 3500) * 35 / 100 - 5505
Else
GeShui = (gz - 3500) * 45 / 100 - 13505
End If
End Function
awxgaige
发表于 2012-2-17 10:26
改成whit语句后为
Sub 单元格填充()
With Sheets("sheet3")
Range("A1") = 100
Range("A3") = 900
Range("A5") = 100
Range("A8") = 4500
End With
End Sub
我只会做第一题.
第二题的if语句我会做出来,但定义函数我就没办法了
chrissha
发表于 2012-2-17 10:52
第一题:把下面的代码用With语句来表示。
Sub 单元格填充()
Sheets("sheet3").Range("A1") = 100
Sheets("sheet3").Range("A3") = 900
Sheets("sheet3").Range("A5") = 100
Sheets("sheet3").Range("A8") = 4500
End Sub
答案:
Sub 单元格填充()
With Sheets("SHEET3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
第二题:根据下面的条件,编写计算个人所得税的自定义函数GeShui
个人所得税的计算公式=(工资-3500)*税率-速算扣除数
全月应纳税所得额税率速算扣除数(元)
全月应纳税额不超过1500元3%0
全月应纳税额超过1500元至4500元10%105
全月应纳税额超过4500元至9000元20%555
全月应纳税额超过9000元至35000元25%1005
全月应纳税额超过35000元至55000元30%2755
全月应纳税额超过55000元至80000元35%5505
全月应纳税额超过80000元45%13505
例如:单元格A2中工资为6000。如果人工计算应该为:全月应纳税所得额=6000-3500=2500
从上表中2500对应的税率是10%,速算扣除数为105,所以工资6000的个税应该为:=(6000-3500)*10%-105
要求用自定函数完成以上功能
Function GeShui(gz) ‘注gz为引用单元格中的工资数额
你的答案
End Function
答案:
Function GeShui(gz)
SuoDe = gz - 3500
If SuoDe <= 0 Then
GeShui = 0
ElseIf SuoDe <= 1500 Then
GeShui = SuoDe * 3 / 100 - 0
ElseIf SuoDe > 1500 And SuoDe <= 4500 Then
GeShui = SuoDe * 10 / 100 - 105
ElseIf SuoDe > 4500 And SuoDe <= 9000 Then
GeShui = SuoDe * 20 / 100 - 555
ElseIf SuoDe > 9000 And SuoDe <= 35000 Then
GeShui = SuoDe * 25 / 100 - 1005
ElseIf SuoDe > 35000 And SuoDe <= 55000 Then
GeShui = SuoDe * 30 / 100 - 2755
ElseIf SuoDe > 55000 And SuoDe <= 80000 Then
GeShui = SuoDe * 35 / 100 - 5505
ElseIf SuoDe > 80000 Then
GeShui = SuoDe * 45 / 100 - 13505
End If
End Function
开心妙妙
发表于 2012-2-17 10:56
'第一题:把下面的代码用With语句来表示?
Sub 单元格填充作业()
With Sheets("SHEET3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
'第二题:编写计算个人所得税的自定义函数GeShui
Function GeShui(gz As Range)
If gz <= 3500 Then
GeShui = 0
ElseIf gz <= 5000 Then
GeShui = (gz - 3500) * 0.03
ElseIf gz <= 8000 Then
GeShui = (gz - 3500) * 0.1 - 105
ElseIf gz <= 12500 Then
GeShui = (gz - 3500) * 0.2 - 555
ElseIf gz <= 38500 Then
GeShui = (gz - 3500) * 0.25 - 1005
ElseIf gz <= 58500 Then
GeShui = (gz - 3500) * 0.3 - 2755
ElseIf gz <= 83500 Then
GeShui = (gz - 3500) * 0.35 - 5505
ElseIf gz > 83500 Then
GeShui = (gz - 3500) * 0.45 - 13505
End If
End Function
君子豹变
发表于 2012-2-17 12:42
第一题答案:
Sub 单元格填充()
With Sheets("sheet3")
.Range("a1") = 100
.Range("a3") = 900
.Range("a5") = 100
.Range("a8") = 4500
End With
End Sub
第二题答案:
Function geshui(gz)
Dim yns, sl, kcs
yns = gz - 3500
Select Case yns
Case Is < 0
MsgBox ("工资太低,不需要交税!")
Exit Function
Case Is < 1500
sl = 0.03
kcs = 0
Case Is <= 4500
sl = 0.1
kcs = 105
Case Is <= 9000
sl = 0.2
kcs = 555
Case Is <= 35000
sl = 0.25
kcs = 1005
Case Is <= 55000
sl = 0.3
kcs = 2755
Case Is <= 80000
sl = 0.35
kcs = 5505
Case Is > 80000
sl = 0.45
kcs = 13505
Case Else
End Select
geshui = yns * sl - kcs
End Function
dsjohn
发表于 2012-2-17 13:20
dsjohn 发表于 2012-2-16 10:52 static/image/common/back.gif
Sub 单元格填充()
With Sheets("sheet3")
.Range("A1") = 100
第二题有错,现修改
Function GeShui(gz As Range)
If (gz - 3500) <= 0 Then
GeShui = 0
ElseIf (gz - 3500) <=1500 Then
GeShui = (gz - 3500)*(3/100)
ElseIf (gz - 3500) <= 4500 Then
GeShui = (gz - 3500) * (10 / 100) - 105
ElseIf (gz - 3500) <= 9000 Then
GeShui = (gz - 3500) * (20 / 100) - 555
ElseIf (gz - 3500) <= 35000 Then
GeShui = (gz - 3500) * (25 / 100) - 1005
ElseIf (gz - 3500) <= 55000 Then
GeShui = (gz - 3500) * (30 / 100) - 2755
ElseIf (gz - 3500) <= 80000 Then
GeShui = (gz - 3500) * (35 / 100) - 5505
ElseIf (gz - 3500) > 80000 Then
GeShui = (gz - 3500) * (45 / 100) - 13505
End If
End Function
hactnet
发表于 2012-2-17 13:44
交下作业了!
H:15 hactnet
Sub 单元格填充()
With Sheets("sheet3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
Function GeShui(gz)
Dim sdk, sl, kcs
sdk = gz - 3500
If sdk <= 0 Then
sl = 0
kcs = 0
ElseIf sdk <= 1500 Then
sl = 0.03
kcs = 0
ElseIf sdk <= 4500 Then
sl = 0.1
kcs = 105
ElseIf sdk <= 9000 Then
sl = 0.2
kcs = 555
ElseIf sdk <= 35000 Then
sl = 0.25
kcs = 1005
ElseIf sdk <= 55000 Then
sl = 0.3
kcs = 2755
ElseIf sdk <= 80000 Then
sl = 0.35
kcs = 5505
ElseIf sdk > 80000 Then
sl = 0.45
kcs = 13505
End If
GeShui = (gz - 3500) * sl - kcs
End Function
jxncfxsf
发表于 2012-2-17 13:55
第1题
Sub 单元格填充()
With Sheets("Sheet3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
End Sub
第2题
Function gehui(gz As Range)
Select Case gz
Case Is <= 3500
gehiu = 0
Case Is <= 1500 + 3500
gehui = (gz - 3500) * 0.03
Case Is <= 4500 + 3500
gehui = (gz - 3500) * 0.1 - 105
Case Is <= 9000 + 3500
gehui = (gz - 3500) * 0.2 - 555
Case Is <= 35000 + 3500
gehui = (gz - 3500) * 0.25 - 1005
Case Is <= 55000 + 3500
gehui = (gz - 3500) * 0.3 - 2755
Case Is <= 80000 + 3500
gehui = (gz - 3500) * 0.35 - 5505
Case Is > 80000 + 3500
gehui = (gz - 3500) * 0.45 - 13505
End Select
End Function
亦铭
发表于 2012-2-17 14:40
1、Sub 单元格填充()
With Sheets("sheet3")
.Range("A1") = 100
.Range("A3") = 900
.Range("A5") = 100
.Range("A8") = 4500
End With
2、Function GeShui(gz) '注gz为引用单元格中的工资数额
Select Case gz - 3500
Case Is <= 1500
GeShui = (gz - 3500) * 0.03
Case Is <= 4500
GeShui = (gz - 3500) * 0.1 - 105
Case Is <= 9000
GeShui = (gz - 3500) * 0.2 - 555
Case Is <= 35000
GeShui = (gz - 3500) * 0.25 - 1005
Case Is <= 55000
GeShui = (gz - 3500) * 0.3 - 2755
Case Is <= 80000
GeShui = (gz - 3500) * 0.35 - 5505
Case Else
GeShui = (gz - 3500) * 0.45 - 13505
End Select
End Function
页:
1
2
3
4
5
[6]
7
8
9
10
11
12