在Excel工作表的任意单元格中设置页码.doc_第1页
在Excel工作表的任意单元格中设置页码.doc_第2页
在Excel工作表的任意单元格中设置页码.doc_第3页
在Excel工作表的任意单元格中设置页码.doc_第4页
在Excel工作表的任意单元格中设置页码.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Excel服务器学习和下载园地分享 在Excel工作表的任意单元格中设置页码 复制链接 文章不当之处,请Excel VBA高手指教为谢!转载于一片白云博客:/ycy_sdfc/ 问:在Excel中设置第几页共几页,绝大部分人会想道用“页面设置”,但你是否想过将“第N页/总M页”放到任意单元格中?而不仅仅是置于页眉页脚中?答:实现方法一般有两种:使用VBA和使用宏表函数方法一,用VBAPublic Function Page(x As Range, z As Byte) 特别注意:当Z参数是0时,统计指定单元格所在页的页码(是以列分页符的值是1为前提条件的) 由自定义函数的Z参数来确定是进行工作表选定单元格所在页数 或是工作表总页数计算 当Z参数是0时,统计指定单元格所在页的页码 当Z参数是1至255任一个数值时,统计工作表总页数 If z = 0 Then ih = 0 For Each yh In ActiveSheet.HPageBreaks ih = ih + 1 If x.Row = yh.Location.Row Then Page = ih Exit Function End If Next yh Page = ih + 1 以上8行代码及本行代码,最终得出指定单元格所在页的页码 Else Page = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1) 统计工作表总页数 End If Application.Volatile 本代码将此自定义函数标识为易失性函数,对自定义函数进行重算End Function举例1:我们要A1单元格中得出“当前工作表指定的单元格(A100)所在页数”是多少页?=page(a100,0)举例2:我们要A1单元格中得出“当前工作表总页数”是多少页?=page(a100,1)这里的公式中,单元格引用(A100)可以是任意单元格引用(公式所在单元格除外,否则会出现循环引用,出现错误);Z参数可以是1至255之间的任意值。方法二,用宏表函数与公式1. 首先:使用快捷键CTRL+F3打开定义名称,再在上面输入“纵当页”,在下面引用位置处输入:=IF(ISNA(MATCH(ROW(),GET.DOCUMENT(64),1,MATCH(ROW(),GET.DOCUMENT(64)+1)2. 然后再继续添加第二个名称:“横当页”,在下面引用位置处输入:=IF(ISNA(MATCH(column(),GET.DOCUMENT(65),1,MATCH(column(),GET.DOCUMENT(65)+1)3. 再输入“总页”;引用位置处输入:=GET.DOCUMENT(50)+RAND()*04. 最后再定义“页眉”,引用位置:=第&IF(横当页=1,纵当页,横当页+纵当页)&页/共&总页&页5. 在函数栏使用应用即可得到需要的页码关于方法二用到的宏函数知识补充:GET.DOCUMENT(type_num, name_text)Type_num 指明信息类型的数。下表列出 type_num 的可能值与对应结果。Type_num 返回1 如果工作簿中不只一张表,用文字形式以“Book1Sheet1”的格式返回工作表的文件名。否则,只返回工作簿的文件名。工作簿文件名不包括驱动器,目录或窗口编号。通常最好使用 GET. DOCUMENT(76) 和 GET. DOCUMENT(88) 来返回活动工作表和活动工作簿的文件名。2 作为文字,包括name_text的目录的路径。如果工作簿name_text未被保存,返回错误值 #N/A。3 指明文件类型的数 1 = 工作表 2 = 图表 3 = 宏表 4 = 活动的信息窗口 5 = 保留文件 6 = 模块表 7 = 对话框编辑表4 如果最后一次存储文件后表发生了变化,返回TRUE;否则,返回FALSE。5 如果表为只读,返回TRUE;否则,返回FALSE。6 如果表设置了口令加以保护,返回TRUE;否则,返回FALSE。7 如果表中的单元格,表中的内容或图表中的系列被保护,返回TRUE;否则,返回FALSE。8 如果工作簿窗口被保护,返回TRUE;否则,返回FALSE。下面四个type_num的数值只用于图表。Type_num 返回9 指示主图表的类型的数。 1 = 面积图 2 = 条形图 3 = 柱形图 4 = 折线形 5 = 饼形 6 = XY (散点图) 7 = 三维面积图 8 = 三维柱形图 9 = 三维折线图 10 = 三维饼图 11 = 雷达图 12 = 三维等形图 13 = 三维曲面图 14 = 圆环图10 指示覆盖图表类型的数,同以上主图表的1,2,3,4,5,6,11和14。没有覆盖图表的情况下返回错误值 #N/A11 主图表系列的数12 覆盖图表系列的数下列 Type_num 的值用于工作表,宏表,在适当的时候用于图表。Type_num 返回9 第一个使用行的编号。如文件是空的,返回零。10 最后一个使用行的偏号。如文件是空的,返回零。11 第一个使用列的编号。如文件是空的,返回零。12 最后一个使用列的编号。如文件是空的 ,返回零。13 窗口的编号。14 指明计算方式的数。 1 = 自动生成 有 2 = 除表格外自动生成 3 = 手动15 如果在选项对话框的重新计算标签下选择迭代计算选择框,返回TRUE;否则,返回FALSE。16 最多迭代次数。17 迭代计算最大误差。18 如果在选项对话框的重新计算标签下选择更新远程引用选择框,返回TRUE;否则,返回FALSE。19 如果在选项对话框的重新计算标签下选择以显示精度为准选择框,返回TRUE;否则,返回FALSE。20 如果在选项对话框的重新计算标签下选择1904年日期系统选择框,返回TRUE;否则,返回FALSE。Type_num 是21-29之间的数,对应于Microsoft Excel先前版本的四种默认字体。提供这些值是为了宏的兼容性。下列 Type_num 数值应用于工作表,宏表和指定的图表。Type_num 返回30 以文字形式返回当前表合并引用的水平数组。如果列表是空的,返回错误值#N/A。31 1至11之间的一个数,指明用于当前合并的函数。对应于每个数的函数列于下面CONSOLIDATE函数中,默认函数为SUM。32 三项水平数组,用于指明Data Consolidate对话框中选择框的状态。如果此项为TRUE,选择选择框;如果此项为FALSE,清除选择框. 第一项指明顶端行选择框,第二项指最左列选择框,第三项指与源数据链接选择框。33 如果选择了选项对话框的重新计算标签下的保存前自动重算选择框,返回TRUE;否则,返回FALSE。34 如工作簿定义为只读,返回TRUE;否则,返回FALSE。35 工作簿为写保护,返回TRUE;否则,返回FALSE。36 如文件设置了写保护口令,并以可读/可写方式打开,返回最初使用写保护口令存文件的用户的名字。如文件以只读形式打开,或文件未设置口令,返回当前用户的名字。37 对应于显示在另存为对话框中的文档的文件类型。所有Microsoft Excel可识别的文件类型列于SAVE.AS函数中。38 如果选择了分级显示设置对话框中的明细数据的下方选择框,返回TRUE;否则,返回FALSE。39 如果选择了分级显示设置对话框中的明细数据的右侧选择框,返回TRUE;否则,返回FALSE。40 如果选择了另存为对话框中的生成备份文件选择框,返回TRUE;否则,返回FALSE。41 1至3中的一个数字,指明是否显示对象: 1 = 显示所有对象 2 = 图和表的位置标志符 3 = 所有对象被隐藏42 包括表中所有对象的水平数组,如无对象,返回错误值 #N/A。43 如果在选项对话框的重新计算标签下选择了保存外部链接值选择框,返回TRUE;否则,返回FALSE。44 如文件中的对象被保护,返回TRUE;否则,返回FALSE。45 0至3中的一个数,指明窗口同步化方式。 0 = 不同步 1 = 水平方向上同步 2 = 垂直方向上同步 3 = 水平方向,垂直方向上均同步46 七项水平数组,用于打印设置,可由LINE.PRINT宏函数完成。 - 建立文字 - 左边距 - 右边距 - 顶边距 - 底边距 - 页长 - 用于指明打印时输出是否格式化的逻辑值,格式化为TRUE,非格式化为FALSE。47 如果在选项对话框的转换标签中选择了转换表达式求值选择框,返回TRUE;否则,返回FALSE。48 标准栏宽度设置下列 type_num 值对应于打印与页的设置。Type_num 返回49 开始页的页码,如未指明或在页面设置对话框的页面标签下的起始页码文字框输入了“自动”,返回错误值#N/A。50 当前设置下欲打印的总页数,其中包括注释,如果文件为图表,值为1。51 如只打印注释时的总页数。如文件为图表类型,返回错误值#N/A。52 在当前指定的单位中,指明边距设置(左,右,顶,底)的四项水平数组。53 指明方向的数字: 1 = 纵向 2 = 横向54 文本串的页眉,包括格式化代码。55 文本串的脚注,包括格式化代码。56 包括两个逻辑值的水平数组,对应于水平垂直方向置中。57 如打印行或列的上标题,返回TRUE;否则,返回FALSE。58 如打印网格线,返回TRUE;否则,返回FALSE。59 如表以黑白方式打印,返回TRUE;否则,返回FALSE。60 1至3中的一个数,指明打印时定义图表大小的方式。 1 = 屏幕大小 2 = 调整到 3 = 使用整页61 指明重排页命令的数: 1 = 先列后行 2 = 先行后列 如文件为图表类型,返回错误值#N/A62 扩缩比,未指定时为100%。如当前打印机不支持此项操作或文件为图表类型时,返回错误值#N/A。63 一个两项水平数组,指明其报表需按比例换算,以适合的页数印出,第一项等于宽度(如未指明宽度按比例缩放,返回#N/A)第二项等于高度(如未指明高度按比例缩放,返回#N/A)。如文件为图表类型,返回#N/A。64 行数的数组,相应于手动或自动生成页中断下面的行。只有在满一页的时候才有用。且只计算第一页65 列数的数组。相应于手动或自动生成页中断右边的列。只有在满一页的时候才有用。且只计算第一页附注 GET.DOCUMENT(62)和GET.DOCUMENT(63)互相排斥,如果其中一个返回一个数值,另外一个返回错误值#N/A。下列type_num数值对应不同文件设置。Type_num 返回66 Microsoft Excel for Windows 中,如果在选项对话框的转换标签中选择了转换公式项选择框,返回TRUE;否则,返回FALSE。67 Microsoft Excel 5.0版本下,通常返回TRUE。68 Microsoft Excel 5.0版本下,通常返回簿的文件名。69 如果在选项对话框的查看标志中选择了自动分页线,返回TRUE;否则,返回FALSE。70 返回文件中所有数据透视表的文件名。71 返回表示文件中所有类型的水平数组。72 返回表示当前表显示的所有图表类型的水平数组。73 返回表示当前工作表每一个图表中系列数的水平数组。74 返回控制的对象标识符,控制当前执行中的由用户定义的对话框编辑表中获得焦点的控制(以对话框编辑表为基础)。75 返回对象的对象标识符,对象正在执行中的由用户定义的对话框编辑表中的默认按枢(以对话框编辑表为基础)。76 以Book1Sheet1的形式返回活动表或宏表的文件名。77 以整数的形式返回页的大小: 1=Letter 8.5x11 in 2 = Letter Small 8.5 x 11 in 5 = Legal 8.5 x 14 in 9 = A4 210 x 297 mm 10 = A4 Small 210 x 297 mm 13 = B5 182 x 257 mm 18 = Note 8.5 x 11 in78 返回打印分辨率,为一个二项水平数组。79 如在页面设置对话框的工作表标签中选择按草稿方式选择框返回TRUE;否则,返回FALSE。80 如在页面设置对话框的工作表标签下选择了附注选择框,返回TRUE;否则,返回FALSE。81 做为一个单元格的引用,从页面设置对话框的工作表标签返回打印区域。82 做为一个单元格的引用,从页面设置对话框的工作表标签返回打印标题。83 如果工作表为方案而被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论