Você está na página 1de 4

Mostrar números de páginas dentro das células

https://www.exceldoseujeito.com.br/mostrar-numeros-de-paginas-dentro-das-celulas/

Primeiramente, acesse o ambiente VBA (ALT+F11).

Sem mexer em nada Insira um módulo e cole um dos códigos abaixo.

Feche o VBA.

Vá em salvar como e salve como “Suplemento do excel” (*.xlam).

Será salvo o suplemento com o nome dado na seguinte pasta:


D:\Users\julio.nunes\AppData\Roaming\Microsoft\AddIns

Feche o excel.

Abra um excel vazio e vá em: Arquivos – Opções – Suplementos – Gerenciar


Suplementos do excel – Ir

Habilite o suplemento criado.

Fechar o excel.
Para Exibir o Número da Página Atual da Planilha

Public Function NumeroDaPagina(Optional ByRef rng As Excel.Range) As Variant


Dim pbHorizontal As HPageBreak
Dim pbVertical As VPageBreak
Dim nHorizontalPageBreaks As Long
Dim nVerticalPageBreaks As Long
Dim nNumeroDaPagina As Long
On Error GoTo ErrHandler
'Application.Volatile 'Você pode utilizar esta linha de comando para
atualizar
'automaticamente a cada alteração (TORNA UM POUCO
LENTO)
'Para utilizá-la basta desmarcar como comentário
(')
If rng Is Nothing Then _
Set rng = Application.Caller
With rng
If .Parent.PageSetup.Order = xlDownThenOver Then
nHorizontalPageBreaks = .Parent.HPageBreaks.Count + 1
nVerticalPageBreaks = 1
Else
nHorizontalPageBreaks = 1
nVerticalPageBreaks = .Parent.VPageBreaks.Count + 1
End If
nNumeroDaPagina = 1
For Each pbHorizontal In .Parent.HPageBreaks
If pbHorizontal.Location.Row > .Row Then Exit For
nNumeroDaPagina = nNumeroDaPagina + nVerticalPageBreaks
Next pbHorizontal
For Each pbVertical In .Parent.VPageBreaks
If pbVertical.Location.Column > .Column Then Exit For
nNumeroDaPagina = nNumeroDaPagina + nHorizontalPageBreaks
Next pbVertical
End With
NumeroDaPagina = nNumeroDaPagina
ResumeHere:
Exit Function
ErrHandler:
NumeroDaPagina = CVErr(xlErrRef)
Resume ResumeHere
End Function
Para Exibir o Número Total de Páginas da Planilha

Public Function TotalDePaginas() As Variant


Dim pbHorizontal As HPageBreak
Dim pbVertical As VPageBreak
Dim nHorizontalPageBreaks As Long
Dim nVerticalPageBreaks As Long
Dim nTotalDePaginas As Long
On Error GoTo ErrHandler
'Application.Volatile 'Você pode utilizar esta linha de comando para
atualizar
'automaticamente a cada alteração (TORNA UM POUCO
LENTO)
'Para utilizá-la basta desmarcar como comentário
(')
With ActiveSheet
If .PageSetup.Order = xlDownThenOver Then
nHorizontalPageBreaks = .HPageBreaks.Count + 1
nVerticalPageBreaks = 1
Else
nHorizontalPageBreaks = 1
nVerticalPageBreaks = .VPageBreaks.Count + 1
End If
nTotalDePaginas = 1
For Each pbHorizontal In .HPageBreaks
nTotalDePaginas = nTotalDePaginas + nVerticalPageBreaks
Next pbHorizontal
For Each pbVertical In .VPageBreaks
nTotalDePaginas = nTotalDePaginas + nHorizontalPageBreaks
Next pbVertical
End With
TotalDePaginas = nTotalDePaginas
ResumeHere:
Exit Function
ErrHandler:
TotalDePaginas = CVErr(xlErrRef)
Resume ResumeHere
End Function

Para usar a função: abra a planilha desejada e digite em uma célula um dos
comandos:

=NumeroDaPagina() Exibe a página atual ou específica


ou

=TotalDePaginas() Exibe o total de páginas do documento

Você também pode personalizar a informação de saída da função


NumeroDaPagina.
Suponha que você tenha numa determinada página as informações de uma
tabela de preço. Esta tabela, inicia-se na célula B105. Para fazer referência a
este conteúdo, você pode escrever na primeira página, por exemplo, uma
indicação assim:
Veja a tabela de preços na página: =NumeroDaPagina(B105)
Irá mostrar a pagina referente a célula B105.
Com isso, você poderá até montar um simples índice. Bom demais!

Você também pode gostar