Excel VBA高效办公应用-第十三章-工资条与工资查询-Part2 (工资条查询)
2017-06-21 23:40
204 查看
Excel竟然可以做出一个像模像样的查询系统,见识了。
Option Explicit Private Sub CommandButton1_Click() On Error GoTo Doerror '由于输入非法员工号码会引起错误 Sid = TextBox1.Text '获得员工ID号 Sheets("销售部员工信息表").Activate '激活员工信息表 '在员工信息表中查找对应员工ID号码的姓名 Sname = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 2, False) '在员工信息表中查找对应员工ID号码的学历 Sxueli = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 5, False) Sheets("1月出勤加班统计表").Activate '激活1月出勤加班统计表 '在1月出勤加班统计表中查找对应员工ID号码的迟到次数 Icidao = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 4, False) '在1月出勤加班统计表中查找对应员工ID号码的旷工次数 Ikuang = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 5, False) '在1月出勤加班统计表中查找对应员工ID号码的加班次数 Ijiaban = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 6, False) Sheets("1月销售业绩表").Activate '激活1月销售业绩表 '在1月销售业绩表中查找对应员工ID号码的销售台数 Itai = Application.WorksheetFunction.VLookup(Val(Sid), Range("A1:F1000"), 4, False) UserForm1.Hide '隐藏UserForm1 UserForm2.Show '激活UserForm2 Exit Sub Doerror: Sheets("工资查询表").Activate MsgBox "销售部没有这个员工号码" End Sub
Option Explicit 'IMoneyXueli表示学历对应的金钱,其它同理 Dim IMoneyXueli As Integer, IMoneyCidao As Integer, IMoneykuang As Integer Dim IMoneyJiaban As Integer, IMoneyTai As Integer, IMoneyJieguo As Integer Sub SubXueli() Select Case Sxueli '判断学历 Case "专科以下" IMoneyXueli = 0 '专科生以下不加钱 '在学历标签上显示其学历及加的钱 Lbxueli.Caption = Sxueli + " +" + Str(IMoneyXueli) + "元" Case "专科" IMoneyXueli = 400 '专科生加400元 '在学历标签上显示其学历及加的钱 Lbxueli.Caption = Sxueli + " +" + Str(IMoneyXueli) + "元" Case "本科" IMoneyXueli = 800 '本科生加800元 '在学历标签上显示其学历及加的钱 Lbxueli.Caption = Sxueli + " +" + Str(IMoneyXueli) + "元" Case "硕士" IMoneyXueli = 1200 '专科生加1200元 '在学历标签上显示其学历及加的钱 Lbxueli.Caption = Sxueli + " +" + Str(IMoneyXueli) + "元" Case "博士" IMoneyXueli = 1600 '专科生加1600元 '在学历标签上显示其学历及加的钱 Lbxueli.Caption = Sxueli + " +" + Str(IMoneyXueli) + "元" End Select End Sub Private Sub CommandButton1_Click() '单击确定则退出窗体 UserForm2.Hide End Sub Private Sub CommandButton2_Click() UserForm2.Hide '退出当前窗体 UserForm1.Show '继续查询 End Sub Private Sub UserForm_Activate() '激活"工资查询表" Sheets("工资查询表").Activate '不能直接在Text函数里将格式"000"换成"MT01001" LbId.Caption = "MT01" + Application.WorksheetFunction.Text(Val(Sid), "000") '取得员工号码 SubXueli '计算与学历相关的金钱 Lbname.Caption = Sname '取得员工姓名 '计算迟到扣款项 IMoneyCidao = Icidao * 100 '迟到一次扣100 '在迟到标签上显示其迟到所扣的钱 Lbcidao.Caption = Str(Icidao) + " -" + Str(IMoneyCidao) + "元" '计算旷工所扣的钱,旷一次课减去300元 IMoneykuang = Ikuang * 300 '在旷工标签上显示其旷工所扣的钱 Lbkuang.Caption = Str(Ikuang) + " -" + Str(IMoneykuang) + "元" '计算加班费,加一次班加200元 IMoneyJiaban = Ijiaban * 200 '在加班标签上显示其加班费 Lbjiaban.Caption = Str(Ijiaban) + " +" + Str(IMoneyJiaban) + "元" '计算销售提成的钱数 IMoneyTai = Itai * 30 '在销售提成标签上显示其提成收入 Lbtai.Caption = Str(Itai) + " +" + Str(IMoneyTai) + "元" '计算最后工资收入,2000是基本工资,400是基本奖金,600是水电餐费及三险一金 IMoneyJieguo = 2000 + IMoneyXueli + 400 - IMoneyCidao - IMoneykuang + _ IMoneyJiaban + IMoneyTai - 600 '在最后工资标签上显示其应发工资 Lbjieguo.Caption = Str(IMoneyJieguo) + "元" End Sub
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) '定义触发事件调出查询窗口 UserForm1.Show End Sub
相关文章推荐
- Excel VBA高效办公应用-第十三章-工资条与工资查询-Part1 (制作工资条)
- Excel VBA高效办公应用-第十二章-工资表的录入与工资表的建立-Part2 (建立工资表)
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part2 (资产负债表分析)
- Excel VBA高效办公应用-第十章-高效处理学员资料-Part2 (考勤记录表)
- Excel VBA高效办公应用-第九章-VBA文秘办公技巧-Part2(查找同名同姓的员工)
- Excel VBA高效办公应用-第五章-销售数据的处理与分析-Part2(多条件筛选及判定)
- Excel VBA高效办公应用-第六章-客户资料管理-Part2 (简单查询功能的VBA实现及记录单功能)
- Excel VBA高效办公应用-第八章-商品销售决策与分析-Part1 (商品销售方式决策)
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part2(VBA的数据类型)
- Excel VBA高效办公应用-第九章-VBA文秘办公技巧-Part1 (每日行程安排提醒)
- Excel VBA高效办公应用-第十六章-VBA高效文件操作(同时给多个工作簿加解密)
- Excel VBA高效办公应用-第十五章-VBA在生产预测与经营分析中的应用
- Excel VBA高效办公应用-第七章-VBA财务报表分析-Part3 (现金流量表分析)
- Excel VBA高效办公应用-第十一章-教师员工数据管理-Part3 (排座位小程序)
- Excel VBA高效办公应用-第四章-用VBA处理市场调查问卷数据
- Excel VBA高效办公应用-第十七章-用户权限管理系统
- excel中 VBA实现 两sheet表间查询赋值应用示例
- Excel VBA高效办公应用-第十四章-Excel图书管理系统
- Excel VBA高效办公应用-第三章-使用Excel的内置函数
- Excel VBA高效办公应用-第十六章-VBA高效文件操作(使用级联菜单管理多个工作簿)