在网上查了关于在单元格中插入页码的方法,网上基本都是这样回答:
(http://zhidao.baidu.com/question/294891767.html)
但是我个人认为答案未必全正确。
比如用用VBA的方法,没有所写的这么简单,还要考虑页的纵向横向以及打印设置的顺序问题。因较复杂暂不在此讨论。大家可参见Excelhome出版的《Excel实战技巧精粹》第597页。
如果要在任意单元格中显示当前页码,用宏表函数的方法,可分三种情况:
1、打印页都是纵向排列。
点CTRL+F3打开定义名称,名称输入“纵当页”,在下面引用位置处输入:
=IF(ISNA(MATCH(ROW(),GET.DOCUMENT(64))),1,MATCH(ROW(),GET.DOCUMENT(64))+1)
在任意单元格中输入以下公式即可:
="第"&纵当页&"页"
2、打印页都是横向排列。
点CTRL+F3打开定义名称,名称输入“横当页”,在下面引用位置处输入:
=IF(ISNA(MATCH(column(),GET.DOCUMENT(65))),1,MATCH(column(),GET.DOCUMENT(65))+1)
在任意单元格中输入以下公式即可:
="第"&横当页&"页"
3、打印页既有纵向排列,又有横向排列。
有人这样回答:
=IF(横当页=1,纵当页,横当页+纵当页)
我认为不能简单地把“横当页+纵当页”当成总页数。
如果打印设置为“先列后行”,则应这样算:
=每列总页数*(横当页-1)+纵当页
如果打印设置为“先行后列”,则应这样算:
=每行总页数*(纵当页-1)+横当页
但是,“每列总页数”或“每行总页数”能否用宏表函数进行计算?希望大家指教。在这里,我只有表格情况,输入数字。
此外,如果要在任意单元格中输入总页,
点CTRL+F3打开定义名称,名称输入“总页”,引用位置处输入:
=GET.DOCUMENT(50)+RAND()*0
在任意单元格中输入以下公式即可:
="总"&总页&"页"
?"title