Excel中每一行添加出现表头.doc

上传人:scccc 文档编号:13815901 上传时间:2022-01-24 格式:DOC 页数:2 大小:55KB
返回 下载 相关 举报
Excel中每一行添加出现表头.doc_第1页
第1页 / 共2页
Excel中每一行添加出现表头.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Excel中每一行添加出现表头.doc》由会员分享,可在线阅读,更多相关《Excel中每一行添加出现表头.doc(2页珍藏版)》请在三一文库上搜索。

1、Excel 中每一行添加出现表头一共有以下三个解决方案1. 写一个宏根据源数据生成“工资单”工作表2. 用一个比较复杂的公式来生成3. 使用 Word 配合,用“邮件合并”功能实现 第三种方法比较简单 ,而且可以很好的控制格式 ,推荐使用 ,在这里先解释 ,建议先看看 Word 中 关于邮件合并的帮助引用第一步:建立数据库新建一个 Excel 电子表格, 将每个职工的工资结构输入表格(注意不能保留标题行, 但是不要省略表格中的表头,以免邮件合并时找不到合并域名。在使用Excel 工作簿时,必须保证数据文件是数据库格式, 即第一行必须是字段名, 数据行中间不能有空行等。 这样可以使不同 的数据共

2、享,避免重复劳动,提高办公效率。),保存名为“ x月工资.Xis”后即可关闭以备后用。第二步:建立工资单表格新建一个 Word 文档(可以将页面设置成横向) ,将新建电子表格的表头复制过来成为 1 行 数列的无数据表格,在表格最后的表格内按“tab ”键插入1行(然后在表格下方按回车键一次或两次,方便打印后裁剪) 。保存为“ x 月工资 .doc”。第三步:邮件合并1在刚建立的“ x月工资.doc”文档中,选择菜单栏的“工具 /信函和邮件/显示邮件合并工具 栏”,则出现“邮件合并工具栏” 。(再选择“工具 /自定义 /命令/(在类别中选择)邮件合并 /(在命令中选择) /插入合并域”将“插入合

3、并域”拖入“邮件合并工具栏” 。)2. 在“邮件合并工具栏”中点击“打开数据源”按钮,选择“+连接到新数据源.ode”,在出现打开文件对话框中找到并打开刚保存的Excel电子表格“ X月工资.xls”,点击“打开”会弹出的对话框中点击所需数据源,这时你会发现在工具栏中“插入合并域”处于激活状态。3. 把光标置于要插入相应项目的位置,点击“插入合并域”下拉菜单(下拉菜单中的相应选项与“ x月工资.xls”表格中的标题行是一一对应的),然后单击下拉菜单中的相应选项,直至操作完毕。4. 在“邮件合并工具栏”中有“设置文档类型”,选择“目录”类型, (不要选“普通 word文档”)点击确定。最后点击“

4、合并到新文档”按钮,你会收到意想不到的效果每位员 工的工资记录都成了一个新文档,试试吧! 下面介绍公式法 : 引用 先观察思考原数据分布 第 1 行是标题 第 2,3,4,5,.行是数据观察思考目标数据分布第 1 ,4,7,1 0, , 行是标题第 2,5,8,1 1 , 行是数据第 3,6,9,1 2, 行是空行即,当前行号除以 3 的余数为 1 的时候,是标题 当前行号除以 3的余数为 2的时候,是数据 其它(只剩除以 3 余数为 0 的情况了)是空行标题行数据直接引用数据表的A$1,因为每次行号是固定的,所以用绝对引用数据行数据需要进行偏移2,5,8,1 1 , 除以 3,取整, 结果分

5、别是 0, 1 ,2,3, , 对应数据表 2,3,4,5, 我们用相对于数据表第 1 行的偏移,那就应该分别是1 ,2,3,4,也就是说,相对于数据表第 1 行的偏移量是 INT(ROW()/3) + 1 引用就是 OFFSET(A$1, INT(ROW()/3) + 1, 0) 注意,列偏移为 0,即列不偏移这样,把上述各部分组合起来,得到工资表 A1 的公式=IF(MOD(ROW(),3),OFFSET(Sheet2!$A$1,(MOD(ROW()-1,3)0)*ROUND(ROW()/3,),COLUMN(She et2!A2)-1),)为了大家看清楚,我分成多行来写=IF( MOD(

6、ROW(),3), OFFSET(Sheet2!$A$1,(MOD(ROW()-1,3)0)*ROUND(ROW()/3,), COLUMN(Sheet2!A2)-1),nil)然后把A1的公式向右复制给 B1-E1,生成第一行数据再把第一行从 A1-E1的公式向下复制到人数X3行,即得到工资表最后介绍用宏的方法实现引用下面是全部代码 :Sub 加插表头 ()Dim i As IntegerDim endro w As IntegerDim hrstar As IntegerDim hrend As Integer endrow = Range(a65536).End(xlUp).Row hrstar = InputBox( 请输入表头开始行 ) hrend = InputBox( 请输入表头结束行 )i = hrend + 2DoIf i endrow Then Exit DoRows(hrstar & : & hrend).SelectSelection.CopyRows(i & : & i).SelectSelection.Insert Shift:=xlDowni = i + hrend - hrstar + 2endrow = endrow + hrend - hrstar + 1LoopEnd Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1