Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Quando você usa a propriedade Location ou Location. Address de quebras de página verticais ou horizontais em uma macro do Microsoft Visual Basic for Applications, você pode receber a seguinte mensagem de erro:

Erro em tempo de execução ' 9 ': subscrito fora do intervalo

Causa

Esse problema pode ocorrer se as seguintes condições forem verdadeiras:

  • A célula ativa está acima da quebra de página horizontal ou à esquerda da quebra de página vertical referida pelo índice HPageBreaks ou VPageBreaks .

  • O local da quebra de página vertical ou horizontal está fora da tela à direita da janela visível ou abaixo da janela visível da pasta de trabalho.

  • Você usa uma macro do Visual Basic for Applications no Microsoft Excel semelhante ao código a seguir:

    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd Sub Sub TestVertical()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.VPageBreaks.Count    MsgBox ActiveSheet.VPageBreaks(1).Location.Address    MsgBox ActiveSheet.VPageBreaks(2).Location.Address    MsgBox ActiveSheet.VPageBreaks(3).Location.AddressEnd Sub

Solução alternativa

A Microsoft fornece exemplos de programação somente para ilustração, sem garantia expressa ou implícita. Isso inclui, entre outros, as garantias implícitas de comercialização ou adequação a uma finalidade específica. Este artigo pressupõe que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento específico, mas eles não modificarão esses exemplos para fornecer funcionalidade adicional ou construir procedimentos para atender a seus requisitos específicos. Para evitar esse problema, adicione código para selecionar a última célula usada na planilha antes de o código usar a propriedade Location de quebras de página horizontais ou verticais. Por exemplo, use o código a seguir para selecionar a célula final, use a propriedade Location e, em seguida, selecione novamente a célula ativa original:

Sub CheckPageBreaks()    'Set object "currcell" equal to active cell.    Set currcell = ActiveCell        'Select the last cell on the worksheet that has data.    Range("IV65536").Select        'Include code with Location property here.    x = ActiveSheet.HPageBreaks(2).Location.Address    MsgBox x    'Example sets x equal to address of second horizontal page break.    'Then message box displays the address of the page break.        'Select original active cell.    currcell.SelectEnd Sub

Depois que a propriedade Location for calculada, você poderá selecionar novamente a célula ativa original. Se você usar o código para rolar entre a primeira e a última célula ou selecionar a última célula e imediatamente selecionar novamente a célula inicial, o erro ainda poderá ocorrer. A tela deve ser redesenhada e a propriedade Location ser calculada para que a solução alternativa seja efetiva. Se você usar o código acima com

Application.ScreenUpdating = False

para evitar a redesenho de tela, o problema ainda ocorre.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Informações adicionais

Se você usar o método cont com a propriedade VPageBreaks ou HPageBreaks , você pode receber um resultado de zero. Isso ocorre nas condições listadas na seção "causa". Se uma quebra de página estiver visível, o método Count poderá dar a resposta correta. O método Count para quebras de página horizontais ou verticais pode dar o resultado esperado se uma quebra de página estiver próxima à parte visível da janela da pasta de trabalho. A solução alternativa fornecida anteriormente pode ser usada para obter a contagem esperada. Quebras de página à direita da janela da pasta de trabalho ou abaixo da janela da pasta de trabalho podem permitir que o método de contagem funcione e que a quebra de página seja localizada, se a distância da janela para a quebra de página for inferior à metade da distância entre quebras de página.

Referências

Para obter mais informações sobre como interceptar erros em uma macro, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

213637 Como usar "On Error" para manipular erros em uma macro

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×