在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.在函数栏使用应用即可得到需要的页码。