用Excel宏工表巧工条迪网--中国教育文/思Excel具有大的数据理和打印出功能,并且易学易用,是广大用喜使用的子表格理件。在一些位的会人喜用Excel打印本位的工工表与工条,但在Excel中要将工表(如表1)手工地工条(如表2)是一件比的事,下面是我写的一个Excel宏,运行个宏就可将好了的工表很方便地工条打印出。表1工表其姓工各种扣水他数日期名数扣号款001200109432.50525.50958.0080.5015862.50平成002200119文425.00500.00925.5075.0015835.50勇⋯⋯⋯⋯⋯⋯⋯⋯⋯表2工条其姓工各种扣水他数日期名数扣号款001200109432.50525.50958.0080.5015862.50平其姓工各种扣水他日期名数数号扣款成002200109文425.50500.50925.5075.0015835.50勇在Excel中新建一个文件,将其命名“工表与工条”,在工作表“sheet1”中入并好本位工工表(如表1所示)后,点“工具”菜→“宏”→“宏⋯”→入宏名“生成工条”→建,入如下的宏的各行文本,入完成后保存宏。将工作表“sheet1”复制另一个工作表“sheet2”中,使“sheet2”成当前工作表,行才建的宏,即可很快将表1所示的工表表2所示的工条。宏的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
如下:Sub生成工条()Cells.Select整个表去掉表格Range("F1").ActivateSelection.Borders(xlDiagonalDown).LineStyle=xlNoneSelection.Borders(xlDiagonalUp).LineStyle=xlNoneSelection.Borders(xlEdgeLeft).LineStyle=xlNoneSelection.Borders(xlEdgeTop).LineStyle=xlNoneSelection.Borders(xlEdgeBottom).LineStyle=xlNoneSelection.Borders(xlEdgeRight).LineStyle=xlNoneSelection.Borders(xlInsideVertical).LineStyle=xlNoneSelection.Borders(xlInsideHorizontal).LineStyle=xlNoneRows("2:2").Select选择第2行Selection.InsertShift:=xlDown在第2行前插入一行,保持第2行为选中状态num=150总人数×3,如工资表中有100人则为100×3即num=300col=14'工资表的栏数,如工资表有17栏则'col=17num1=4DoWhilenum1<=num循环插入空行Range(Cells(num1,1),Cells(num1,col)).Select选中第num1行的第1列到第col列Selection.InsertShift:=xlDownSelection.InsertShift:=xlDownnum1=num1+3LoopRange(Cells(1,1),Cells(1,col)).SelectApplication.CutCopyMode=False剪切复制模式无效Selection.Copy复制选择区域Range("A2").Select选择A2单元格ActiveSheet.Paste从A2单元格起粘贴内容num2=5DoWhilenum2<=num循环插入标题行Range(Cells(1,1),Cells(1,col)).SelectApplication.CutCopyMode=FalseSelection.CopyCells(num2,1).SelectActiveSheet.Pastenum2=num2+3LoopRange(Cells(2,1),Cells(3,col)).SelectApplication.CutCopyMode=FalseSelection.Borders(xlDiagonalDown).LineStyle=xlNone定义表格边框线、内线样式Selection.Borders(xlDiagonalUp).LineStyle=xlNoneWithSelection.Borders(xlEdgeLeft).LineStyle=xlDouble.Weight=xlThick.ColorIndex=xlAutomaticEndWithWithSelection.Borders(xlEdgeTop).LineStyle=xlDouble.Weight=xlThick.ColorIndex=xlAutomaticEndWithWithSelection.Borders(xlEdgeBottom).LineStyle=xlDouble.Weight=xlThick.ColorIndex=xlAutomaticEndWithWithSelection.Borders(xlEdgeRight).LineStyle=xlDouble.Weight=xlThick.ColorIndex=xlAutomaticEndWithWithSelection.Borders(xlInsideVertical).LineStyle=xlDash.Weight=xlThin.ColorIndex=xlAutomaticEndWithWithSelection.Borders(xlInsideHorizontal).LineStyle=xlDash.Weight=xlThin.ColorIndex=xlAutomaticEndWithSelection.CopyRange(Cells(5,1),Cells(6,col)).SelectSelection.PasteSpecialPaste:=xlFormats,Operation:=xlNone,SkipBlanks:=_False,Transpose:=False接上行删除上行尾的连字符_,复制表格线样式num3=8DoWhilenum3<=num循环复制表格线样式Range(Cells(num3,1),Cells(num3+1,col)).SelectSelection.PasteSpecialPaste:=xlFormats,Operation:=xlNone,SkipBlanks:=_False,Transpose:=Falsenum3=num3+3LoopRows("1:1").Select删除多余的一行Selection.DeleteEndSub以后每月要打印工资表与工资条时,只需将“工资表与工资条”文件打开,修改好工作表“sheet1”中的当月的工资总表数据后将其复制为工作表“sheet2”,并使“sheet2”成为当前工作表,执行宏“生成工资条”即可。