在Excel中设置第几页共几页,绝大部分人会想道用“页面设置”,但你是否想过将“第N页/总M页”放到任意单元格中?而不仅仅是置于页眉页脚中?

方法一,用VBA

Function page()
page = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
Application.Volatile
End Function

用VBA本人只知道总页码的方法,当前页码就难倒我了,还请VBA高手指教

方法二,用宏表函数与公式

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()*0

4.最后再定义“页眉”,引用位置:
="第"&IF(横当页=1,纵当页,横当页+纵当页)&"页/共"&总页&"页"

5.在函数栏使用应用即可得到需要的页码