Вопос по VBA, Как програмно определить на какой странице (номер) в Excel находится курсор

Узнай цену своей работы

Формулировка задачи:

Вывожу информацию в Excel - необходимо определить номер страницы на которой в данный момент находится курсор.

Решение задачи: «Вопос по VBA, Как програмно определить на какой странице (номер) в Excel находится курсор»

textual
Листинг программы
<font color="blue">Public</font> <font color="blue">Sub</font> PageNumner()
    <font color="blue">Dim</font> VPB <font color="blue">As</font> Excel.VPageBreak
    <font color="blue">Dim</font> HPB <font color="blue">As</font> Excel.HPageBreak
    <font color="blue">Dim</font> intVPBC <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">Dim</font> intHPPC <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">Dim</font> lngPage <font color="blue">As</font> <font color="blue">Long</font>
    
    lngPage = <font color="darkblue"><b>1</b></font>
    
    <font color="blue">If</font> Activesheet.PageSetup.Order = xlDownThenOver <font color="blue">Then</font>
        intHPPC = Activesheet.HPageBreaks.Count + <font color="darkblue"><b>1</b></font>
        intVPBC = <font color="darkblue"><b>1</b></font>
    <font color="blue">Else</font>
        intVPBC = Activesheet.VPageBreaks.Count + <font color="darkblue"><b>1</b></font>
        intHPPC = <font color="darkblue"><b>1</b></font>
    <font color="blue">End</font> <font color="blue">If</font>

    <font color="blue">For</font> <font color="blue">Each</font> VPB <font color="blue">In</font> Activesheet.VPageBreaks
        <font color="blue">If</font> VPB.Location.Column > ActiveCell.Column <font color="blue">Then</font>
            <font color="blue">Exit</font> <font color="blue">For</font>
        <font color="blue">End</font> <font color="blue">If</font>
        
        lngPage = lngPage + intHPPC
    <font color="blue">Next</font> VPB
    
    <font color="blue">For</font> <font color="blue">Each</font> HPB <font color="blue">In</font> Activesheet.HPageBreaks
        <font color="blue">If</font> HPB.Location.Row > ActiveCell.Row <font color="blue">Then</font>
            <font color="blue">Exit</font> <font color="blue">For</font>
        <font color="blue">End</font> <font color="blue">If</font>
            
        lngPage = lngPage + intVPBC
    <font color="blue">Next</font> HPB
    
    MsgBox <font color="teal">"Номер страницы активной ячейки = "</font> & lngPage
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы