A-A+

Excel中批量添加表头的方法

2010年01月21日 个人日记 评论 12 条 阅读 5,295 次

今天QQ问问里一网友问我怎么样实现批量插入相同的表头,一时没听明白,几经周折才知道是工资表批处理表头!
其实这个问题在企业工资结算中是最常见的,有些人手工添加插入有些人干脆不加直接打印出来再剪,发到员工手里一看一串数字莫名其妙。下面就讲下我给出的方法仅供参考
其实批量性的操作我们可以用EXCEL中的高级用法:VBA即宏,可能有很多人对EXCEL是最熟悉不过可是对VBA却一概不知。但是当你知道EXCEL中还有这么个如此强大功能的东东后你可能为此感到神奇!它可以一次性的添加成千上万条数据;可以迅速的找出成千上万条数据中满足您要求的那么一条记录;甚至可以做成一个工资管理系统分配不同的用户权限;还能做出游戏俄罗斯方块,扫雷等等这些VBA都可以完成。还可以但对于一串英文的时候即又不知道所措,当然这是后话,说这么多您可能要问说这么一大堆做什么?我并不是想展示一下我的本事而是要让人们知道Excel是一款办公绝顶软件
废话少说切入正题!

首先说一下原理:工资表都是差不多固定的格式,一个表头,下面全是员工一行一个非常规则,那么我们追假定1行为标题2-XX为员工工资数据,那么我们要插入第一行的标题是要往哪些地方Insert呢?用数学公式来表达就是R=R+2,R代表行数Row,那么我们就让它从第3行开始往下执行。编写VBA执行代码:(VBA模式进入方法:菜单栏-工具-宏-Visual Basic编辑器 或者按快捷键ALT+F11)
Sub InsertHeader()
Dim r As Long, LastRow As Long'声明变量并赋值
Application.ScreenUpdating = False
LastRow = Sheet1.Range("A65536").End(xlUp).Row
r = 3
Do While r <= LastRow' 限制条件并循环
Sheet1.Rows(1).Copy'复制第一行所有数据
Sheet1.Rows(r).Insert Shift:=xlDown'插入到指定行即满足上面条件的所有行
LastRow = LastRow + 1
r = r + 2
Loop'停止循环
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

'号后为注释。
插入以上代码后保存并退出VBA模式回到Excel工作表界面,点视图书-工具栏目-Visual Basic-调出工具-再点到两个锤子图标即控件工具箱-找到命令按钮-点击一下在工作表中画一个小矩形再点右键选择属性重命名名称为btnInsert及Caption为插入表头,退出属性双击刚才画的按钮会自动添加
Private Sub btnInsert_Click()

End Sub
在End Sub 上面插入 
InsertHeader
btnDelete.Enabled = True
btnInsert.Enabled = False

退出设计模式点一下按钮即可完成批量工作!

相反我们要删除也可以再写个删除按钮代码!
为了给大家提供学习参考特将原搞上传。

下载附件能上QQ不能上网修复工具.zip 文件大小:606.0 KB, 下载次数:107 次

12 条留言  访客:12 条  博主:0 条

  1. avatar 友谊

    在2007中可以用不 /疑问

  2. avatar 随缘

    不可以,有些区别 /坏笑

给我留言

Copyright © 随缘博客 保留所有权利.   Theme  

用户登录

分享到: