电脑编程工资多少
Excel VBA编程  典型实例——制作工资条
工资条是将每个员工的相关信息单独制作成一个表格,从而可以方便打印,并发送的员工手中。若一个一个进行制作这些工资条,将浪费很多时间。下面介绍一种使用VBA代码快速实现工资条的方法,便于会计人员提高工作效率。
1.练习要点
控件的应用
VBA代码
2.操作步骤:
(1)新建一张空白工作簿,分别重命名Sheet1和Sheet2工作表标签名称为“工资表”和“条”。然后,在“工资表”工作表中,创建如图10-9所示的“宇杰公司工资表”表格。
图10-9  创建表格
提  示
选择Sheet1工作表标签,右击执行【重命名】命令。然后,在工作表标签的位置上,输入“工资表”名称。同理,重命名Sheet2工作表标签名称。
(2)选择【开发工具】选项卡,单击【控件】组中的【插入】下拉按钮,在【表单控件】
组中,选择【按钮(窗体控件)】按钮。然后,在“工资表”中,给制该形状,如图10-10所示。此时,将弹出一个【指定宏】对话框,将【宏名】修改为“工资条”文字。
图10-10  绘制【按钮(窗体控件)】按钮
提  示
由于本例使用的是VBA进行编辑代码来生成工资条,所以在绘制【按钮(窗体控件)】按钮时,弹出的对话框可以单击【取消】按钮,无须进行录制宏操作。
(3)右击绘制的控件按钮,执行【编辑文字】命令。然后,修改按钮名称为“生成工资条”文字,如图10-11所示。
图10-11  修改控件名称
(4)选择【开发工具】选项卡,单击【代码】组中的Visual Basic按钮,如图10-12所示。
图10-12  单击Visual Basic按钮
(5)在弹出的VBE窗口中,右击【工程管理器】窗口的空白处,执行【插入】|【模块】命令,即可插入一个模块1,如图10-13所示。
图10-13  插入模块
提  示
双击【工程管理器】窗口中的【模块1】按钮,即可弹出一个代码编辑窗口。
(6)在弹出的代码编辑窗口中,输入如图10-14所示的代码。
图10-14  输入代码
其中,输入的代码如下:
Public Sub 工资条()
    '定义a,b,c变量为整型
    Dim a As Long, b As Long, c As Long
    '将a6单元格所在的列数赋值于a
    a = Range("a6").CurrentRegion.Columns.Count
    '将a6单元格所在的行数赋值于b
    b = Range("a6").CurrentRegion.Rows.Count
    '将N3单元格中的数据赋值于变量c
    c = Range("N3")
    '若变量a=0或者b=1,则弹出"无数据"提示对话框
    If a = 0 Or b = 1 Then
        MsgBox "无数据!"
        Exit Sub
    End If
    '如果a>30或者b>1001,则弹出"项目不能>30个,人数不能>1000人!"提示对话框
    If a > 30 Or b > 1001 Then
        MsgBox "项目不能>30个,人数不能>1000人!"
        Exit Sub
    End If
    '如果c=0或c<0或c>12,则弹出"没有月份或月份错误!"提示对话框
    If c = 0 Or c < 0 Or c > 12 Then
        MsgBox "没有月份或月份错误!"
        Exit Sub
    End If
    '清空工资条中原来数据
    Sheets("条").Cells.Delete shift:=xlUp
    '新数据生成
    For k = 1 To b - 1
        Worksheets("条").Cells(k * 3 - 2, 1) = "月"
        Range(Cells(4, 1), Cells(4, a)).Copy Worksheets("条").Cells(k * 3 - 2, 2)
        Worksheets("条").Cells(k * 3 - 2, a + 1) = "签名"
        Worksheets("条").Cells(k * 3 - 1, 1) = c
        Range(Cells(4 + k, 1), Cells(4 + k, a)).Copy Worksheets("条").Cells(k * 3 - 1, 2)
    Next k
    Worksheets("条").Columns("B:B").Copy
    Worksheets("条").Columns("A:A").PasteSpecial Paste:=xlPasteFormats
    Worksheets("条").Columns(a + 1).PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
    Worksheets("条").Cells.EntireColumn.AutoFit
    Worksheets("条").Select
    Worksheets("条").Range("A1").Activate
    Application.ScreenUpdating = True

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。