设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[Excel技巧] Excel行记录转换为页报表的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-10 10:25:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  这次人事部门调资,要我帮忙设计“调资审批表”,将预先录入好的Excel行员调资数据(一人占一行),转换成每人一页,打印出来。我运用Excel本身的“宏”功能,完成了这种转换,解决了“行记录转换为页报表”这个问题。方法如下:
  (一)录入好原始数据资料。如“行员调资数据”,一行代表一个人的调资档案资料。
  (二)在同一工作薄内新建一个工作表。重命名为“报表页”,设定并调整需打印输出的报表格式,如:“姓名”项目名放在A4,它的动态数据(每人不同)定位在B4,“性别”项目名放在C4,它的动态数据定位在D4。并将某合适位置作为行序号输入框,如A1填提示“行序号”,B1用来输原始表“行员调资数据”的对应行序号。
  (三)建立操作按钮。进入菜单-视图-工具栏-Visual Basic,出现VB设计模式(按下[设计模式]按钮),按[控件工具箱]按钮,出现控件图列小窗口,单击[命令按钮],在报表页合适位置单击,可见按钮方块,拉至所需大小。因打印时会同时打印出该按钮,为不影响报表效果,可右击该按钮,在弹出的快捷菜单中选择“设置控件格式→属性”,取消勾选“打印对象”。右击按钮选属性,将Caption属性改为“转换”。
  (四)建立“宏”(输入VBA程序)。双击“转换”按钮,出现程序设计画面,插入如下语句:
Private Sub CommandButton1_Click()
XLS0 = "行员调资数据"
XLS1 = "报表页"
Sheets(XLS1).Select
x = Cells(1, 2)
Cells(4, 2) = Sheets(XLS0).Cells(x, 1)
Cells(4, 4) = Sheets(XLS0).Cells(x, 2)
Cells(4, 6) = Sheets(XLS0).Cells(x, 3)
Cells(4, 8) = Sheets(XLS0).Cells(x, 4)
Cells(6, 2) = Sheets(XLS0).Cells(x, 5)
Cells(6, 4) = Sheets(XLS0).Cells(x, 6)
Cells(6, 6) = Sheets(XLS0).Cells(x, 7)
Cells(6, 8) = Sheets(XLS0).Cells(x, 8)
ActiveWindow.FreezePanes = True
Range("B1").Select
End Sub
  说明:其中x = Cells(1, 2)表示第一行第二列B1位置用来输入原始表XLS0(“行员调资数据”)的对应行序号;Cells(4, 2) = Sheets(XLS0).Cells(x, 1)表示“报表页”第四行第二列B4的数据自动引用XLS0(“行员调资数据”)的第x行第一列的数据,其余以此类推,把原始表一行的所需项目逐一对应到“报表页”中来。
  按“文件-保存”,回到“报表页”,退出设计模式(按[设计模式]按钮使其凸起),关闭有关设计模式的窗口。至此全部准备工作已完成。
  如果要转换成“工资条”的形式,则需将上面语句改为:
Private Sub CommandButton1_Click()
XLS0 = "行员调资数据"
XLS1 = "工资条"
Sheets(XLS1).Select
x = 2
Do While Not (IsEmpty(Sheets(XLS0).Cells(x, 1)))
y = 1
Do While Not (IsEmpty(Sheets(XLS0).Cells(1, y)))
x1 = (x - 1) * 3 + 1
Cells(x1, y) = Sheets(XLS0).Cells(1, y)
Cells(x1 + 1, y) = Sheets(XLS0).Cells(x, y)
Cells(x1 + 2, y) = "-"
y = y + 1
Loop
x = x + 1
Loop
ActiveWindow.FreezePanes = True
Range("B1").Select
End Sub
  (五)转换。在“报表页”B2位置输入原始表对应的行序号,回车,单击[转换]按钮,即可自动将原始表的指定行数据对应转换到“报表页”中来,打印即可。
  注意:若调整了“报表页”的动态数据行列位置,必须在VBA程序中作相应语句的修改。程序不会自动更新。
  本文只是告诉了我们一种转换的思路、方法,在很多场合可举一反三,变通使用。可能同事们已有更好的方法,望能交流指导。
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-6-7 11:42 , Processed in 0.156059 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表