每到月底,我们最开心的就是等着发工资了,而财务烦心的莫过于一张张的员工工资条了。一条条记录,粘贴,劳动量很大。那么一张工资表,如何把它快速制作成工资条呢,个人总结整理了几个小套路,希望对大家工作上有用。 方法一:利用编辑里面的空格定位 第一步:建立辅助区配合F5键定位,实现隔行插入空行; 第二步:复制标题行,定位空行,并粘贴标题行,删除辅助列,完成。
第一步:建立辅助列,生成序列,复制生成序列; 第二步:选择扩展当前区域(将排序选定区域扩展至表格内所有数据)--对辅助列升序操作; 第三步:复制标题行,定位空值,并粘贴标题行,删除辅助列,完成。
复制标题行到G1单元格 - 在G2输入1,然后H2输入公式,并向右复制 =VLOOKUP($G2,$A$1:$E$7,COLUMN(B1),0) 最后选取标题行、公式行和空行,向下拖动复制。
这是一个比较通用的公式(工资条隔一行): =IF(MOD(ROW(A1),3),OFFSET($A$1,(MOD(ROW(A1)-1,3)>0)*ROUND(ROW(A1)/3,),COLUMN(A2)-1),'') 套用公式方法:只需要修改上面公式的$A$1 ,它是工资表的标题行的第1个单元格地址(如果引用其他表,需要加上“表名!”,如工资表!$A$1)。 再讲另一个通用公式: 公式:=INDEX($A:$E,CHOOSE(MOD(ROW(A3),3)+1,1,INT(ROW(A6)/3),4^8),COLUMN(A1))&'' 套用公式方法:只需要修改上面公式的$A:$E ,它是工资表的整个区域。
第一步:单击菜单栏“工具”—“宏”—“Visual Basic编辑器”或直接按下Alt+F11快捷键打开VBA编辑窗口。菜单栏“插入”—“模块”; 第二步:打开模块后,并在模块中复制以下代码。 由于本人是初学VBA,请大神级人物,不要嘲笑我的代码,以下为VBA代码: Sub 工资条制作() Dim n% n = Application.CountA(ActiveSheet.Range('A:A')) '获取工资条总行数 Application.ScreenUpdating = False '关闭屏幕更新 For i = n To 1 Step -1 If i > 2 Then Range('A1:E1').Copy '复制标题行 Range('A' & i).Select Selection.EntireRow.Insert '插入一行 Selection.EntireRow.Insert '在插入一行 Application.CutCopyMode = False '清空剪贴板 End If Next [a1].Select Application.ScreenUpdating = True '打开屏幕更新 End Sub 动态演示: 套用方法:'A1:E1'为工资条区域,故只需修改Range('A1:E1').Copy,这行的区域代码,即可。 以上制作员工工资条方法,你都Get到了吗。 |
|