简体中文 宏
繁体中文 巨集
工资表、工资条
Sub gzb()
Dim i As Integer
For i = 3 To 50
If Range("A" & i) = "" Then
Exit For
End If
Range("A" & i).Select
Selection.EntireRow.Delete
Next
End Sub
Sub gzt()
Dim i As Integer
For i = 3 To 50 Step 2
If Range("A" & i) = "" Then
Exit For
End If
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Copy
Range("A" & i).Select
Selection.Insert Shift:=xlDown
Next
End Sub
个税计算
Sub gs()
Dim i As Integer
For i = 2 To 100
If Range("a" & i) = "" Then
Exit For
End If
If Range("c" & i) <= 1500 Then
Range("d" & i) = Range("c" & i) * 0.03
ElseIf Range("c" & i) >= 1500 And Range("c" & i) < 4500 Then
Range("d" & i) = Range("c" & i) * 0.1 - 105
ElseIf Range("c" & i) >= 4500 And Range("c" & i) < 9000 Then
Range("d" & i) = Range("c" & i) * 0.2 - 555
ElseIf Range("c" & i) >= 9000 And Range("c" & i) < 35000 Then
Range("d" & i) = Range("c" & i) * 0.25 - 1005
ElseIf Range("c" & i) >= 35000 And Range("c" & i) < 55000 Then
Range("d" & i) = Range("c" & i) * 0.3 - 2755
ElseIf Range("c" & i) >= 55000 And Range("c" & i) < 80000 Then
Range("d" & i) = Range("c" & i) * 0.35 - 5505
ElseIf Range("c" & i) >= 80000 Then
Range("d" & i) = Range("c" & i) * 0.45 - 13505
End If
Next
End Sub
提取表名
Sub tq()
Dim i As Integer
For i = 2 To Sheets.Count
Range("a" & i - 1) = Sheets(i).Name
Next
End Sub
根据模板创建报表
Sub test()
Dim i As Integer
For i = 1 To 31
Sheet1.Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "5月" & i & "日"
Sheets(Sheets.Count).Range("e5") = "2016-5-" & i
Next
End Sub
多表汇总数据
Sub hz()
Dim i As Integer
For i = 2 To Sheets.Count
'Sheet1.Range("b10") = Sheets(i).Range("e5")
Sheet1.Range("b" & i + 8) = Sheets(i).Range("e5")
Sheet1.Range("c" & i + 8) = Sheets(i).Range("e6")
Sheet1.Range("d" & i + 8) = Sheets(i).Range("e44")
Next
End Sub
双重循环处理多个 sheet
Sub test()
Dim i As Integer
Dim j As Integer
For j = 1 To Sheets.Count
For i = 100 To 2 Step -1
If Sheets(j).Range("b" & i) = "瞶" Then
Sheets(j).Range("c" & i) = "LG"
ElseIf Sheets(j).Range("b" & i) = "ゅ" Then
Sheets(j).Range("c" & i) = "WK"
Else
Sheets(j).Range("c" & i) = "CJ"
End If
If Sheets(j).Range("e" & i) = "╧" Then
Sheets(j).Range("f" & i) = "ネ"
ElseIf Sheets(j).Range("e" & i) = "" Then
Sheets(j).Range("f" & i) = ""
End If
If Sheets(j).Range("d" & i) = "" Then
Sheets(j).Range("d" & i).EntireRow.Delete
End If
Next
Next
End Sub