




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子表格打印时续页表头的自动处理计算机编程技巧与维护2002年第1期发表曹 骞 江苏省东台市环境监测站(江苏东台 224200)摘要:实现了电子表格打印时,续页表头的自动添加与删除。关键词:电子表格 打印 续页 表头Excel是我们非常熟悉的电子表格软件,使用Excel打印表格时,经常会遇到这样的情况:要打印一张在Excel中编辑的表格,但表格内容有多页,由打印预览可以看出,打印出的表格首页中包含表头和数据,而续页上没有表头,只有数据。看起来不舒服,查阅数据时也不方便。通常解决的方法是:打印前,手工把表头依次拷贝到续页的首行前面。但若某页需要插入或删除数行时,则要将其后各页的表头位置一一更改;要重新对表格中的数据进行统计处理时,也要先将表头一一删除后才能进行。当表格内容较多,有数十页乃至上百页时,这种手工操作的工作量将会很大。为解决这一问题,笔者利用Excel97中的VBA,设计了一个小程序,实现了Excel97续页表头的自动插入、自动删除,从而减轻了工作量、提高了工作效率。1 基本工作原理电子表格中,设i行前存在分页符。当分页符为自动分页符时rows(i).PageBreak = -4105;当分页符为人工插入的分页符时rows(i).PageBreak = -4135。“PageBreak”属性为分页符的位置。续页表头的自动插入:首先将表头拷贝至剪贴板中,从首行起依次查找分页符,发现分页符时,插入与表头相等的空行,将表头粘贴至空行中。续页表头的自动删除:首先输入表头的行数x,从尾行起向首行依次查找分页符,发现分页符时,将自分页符起的x行删除。需要说明的是:当为人工分页符时,插入表头前需要先删除分页符,粘贴后再在表头前插入人工分页符;同理删除表头后也要插入一个分页符,以保持原有格式不变。2 程序实现本程序在windows98、Excel97中编写并通过。运行程序表单的步骤:在Excel中新建宏,宏代码为:UserForm2.show,运行宏;还可在Excel工具栏中新建一个自定义按钮,将其连接到该宏,运行时只需单击此按钮即可。2.1表单界面(UserForm2):关键控件如下表:UserForm2用户窗体RefEdit1表头区域获取框TextBox1标题行数输入框CommandButton1“开始添加”按钮CommandButton2“清除表头”按钮CommandButton3“退 出”按钮2.1程序:Private Sub CommandButton1_Click() 统计最后一行的行号,rowcount为最后一行行号Dim userrow(4) As Integer 为符号“$”所在的位置Dim s As Integerb = Me.RefEdit1.Texta = Len(Me.RefEdit1.Text)j = 0s = 0h = 0 判别是否存在“:”For i = 1 To a If Left(Right(b, i), 1) $ Then 不为“$”时,继续判别 j = j + 1 Else 为“$”时,在userrow(s)数组中记录下“$”的位置 j = j + 1 userrow(s) = j s = s + 1 End If If Left(Right(b, i), 1) = : Then h = 1 End IfNext iIf h = 1 Then 如果选定区域超过一个单元格 If s = 2 Then row_1 = Left(Right(b, userrow(1) - 1), userrow(1) - userrow(0) - 2) Else If s = 4 Then row_1 = Left(Right(b, userrow(2) - 1), userrow(2) - userrow(1) - 2) End If End If row_2 = Right(b, userrow(0) - 1) Me.TextBox1.Text = Str(row_2 - row_1 + 1) + 行 titlerow = row_2 - row_1 + 1 Else 仅选定一个单元格 Me.TextBox1.Text = Str(1) + 行 titlerow = 1End If 将所选区域复制到剪贴板 Range(Me.RefEdit1.Text).Select Selection.Copy 计算总行数 Range(A1).Select ActiveCell.SpecialCells(xlLastCell).Select rowcount = ActiveCell.Row 计算现有的总页数,并将总页数置于pagecount变量中 pagecount = 0 For i = 1 To rowcount If rows(i).PageBreak = -4105 Or rows(i).PageBreak = -4135 Then pagecount = pagecount + 1 End If Next i For i = 1 To rowcount + pagecount * titlerow If rows(i).PageBreak = -4105 Then 如果为系统自动分页符,则选定与标题行相同数目的行数,将复制的表头粘贴 rows(i & : & i + titlerow - 1).Select Selection.Insert Shift:=xlDown Application.CutCopyMode = False Selection.Copy Else 如果为人工插入的分页符,则首先删除分页符,再选定与标题行相同数目的行数 ,将复制的表头粘贴,插入一个分页符 If rows(i).PageBreak = -4135 Then ActiveSheet.HPageBreaks(1).Delete rows(i & : & i + titlerow - 1).Select Selection.Insert Shift:=xlDown rows(i & : & i + titlerow - 1).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell Application.CutCopyMode = False Selection.Copy End If End If Next iMsgBox (生成完毕,请检查!)EndEnd SubPrivate Sub CommandButton2_Click() 统计行数,rowcount为最后一行行号 Range(A1).Select ActiveCell.SpecialCells(xlLastCell).Select rowcount = ActiveCell.Row For i = rowcount To 1 Step -1 If rows(i).PageBreak = -4105 Then 如果为分页符,删除表头 rows(i & : & i + UserForm2.TextBox1.Value - 1).Select Selection.Delete Else If rows(i).PageBreak = -4135 Then 如果为人工插入的分页符,删除表头后再添加一个分页符 rows(i & : & i + UserForm2.TextBox1.Value - 1).Select Selection.Delete ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell End If End If Next i MsgBox (生成完毕,请检查!) EndEnd SubPrivate Sub CommandButton
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件显示不安全问题
- 2025年中国酒店羽绒枕芯数据监测报告
- 酒类评委考试题及答案
- 经纪顾问考试题及答案
- 近期热点考试题及答案
- 鱼粉制作工专项考核试卷及答案
- 2025年教师招聘之《幼儿教师招聘》模拟试题及参考答案详解(夺分金卷)
- 戒烟考试题及答案大全
- 2025年中国手工绣花工艺品数据监测研究报告
- 液氯工质量管控考核试卷及答案
- 江南文化概论课件
- 2025-2026学年统编版(2024)初中道德与法治八年级上册(全册)教学设计(附目录 P133)
- 特种设备执法课件
- 2025-2030磁性材料在新能源汽车中的需求变化报告
- 农家小院课件
- 2025年营养指导员师岗位技能及理论知识考试题库(含答案)
- 【语文】广东省广州市华南师范大学附属小学小学二年级下册期末试卷(含答案)
- 年会基础知识培训内容课件
- 撕脱伤皮肤护理查房
- 地球的外衣大气层课件
- 2025年时事政治考试100题(附答案)
评论
0/150
提交评论