Subscrito VBA do Excel fora do intervalo
O VBA Subscript fora do intervalo ou conhecido principalmente como Erro em tempo de execução 9 ocorre quando selecionamos uma célula, planilha ou pasta de trabalho que na verdade não está dentro do intervalo ou dos critérios definidos no Excel. É como se tivéssemos selecionado o intervalo de 100 células ou uma coluna e chamado os valores armazenados em 120 células da mesma coluna. O que significa que estamos fora do intervalo para selecionar e chamar os valores que não estão em nossos critérios definidos. Quando esse tipo de situação ocorre, recebemos a mensagem "Erro em tempo de execução 9" durante a compilação ou execução do código. A mensagem de erro VBA Subscript fora do intervalo nos orienta a corrigir o erro relacionado ao intervalo que selecionamos no Excel.
Exemplo de subscrito do VBA do Excel fora do intervalo
Abaixo estão os diferentes exemplos de VBA Subscript fora do intervalo no Excel.
Você pode fazer o download deste modelo de Excel fora do intervalo do VBA Subscript aqui - Modelo de Excel fora do intervalo do VBA SubscriptSubscrito VBA fora do intervalo - Exemplo # 1
Vamos primeiro considerar um exemplo simples. Para isso, precisamos acessar as janelas do VBA e adicionar um novo módulo, indo na opção de menu Inserir, como mostrado abaixo.
Obteremos uma janela branca em branco do módulo. É aqui que precisamos fazer o trabalho de codificação.
Agora escreva Subcategoria da função executada, para obter melhores práticas, mantenha o nome de uma função na Subcategoria, como fizemos aqui para o VBA Subscript fora do intervalo.
Código:
Sub Subscript_OutOfRange1 () End Sub
Aqui no Excel, temos apenas uma planilha denominada "Plan1", como mostrado abaixo.
Mas escreveremos um código para selecionar uma planilha que nem será adicionada e ver o que acontece.
Agora vá para a janela VBA e escreva Sheets (2), seguido pela função Select, como mostrado abaixo. O que significa que estamos selecionando a sequência de folhas da 2ª posição com a função Selecionar.
Código:
Sub Subscript_OutOfRange1 () Planilhas (2). Selecione End Sub
Agora compile o código completo ou faça-o passo a passo para saber qual parte do código é um erro. Como temos apenas uma linha de código, podemos executá-lo diretamente clicando no botão reproduzir abaixo da barra de menus. Iremos receber uma mensagem de erro dizendo " Erro em tempo de execução 9, subscrito fora do intervalo " no VBA, como mostrado abaixo.
Isso mostra que estamos tentando selecionar a planilha que não existe. Se adicionarmos uma nova planilha ou alterarmos a sequência da planilha no código de 2 o para 1 o, poderemos obter uma execução bem-sucedida do código. Vamos adicionar outra planilha e ver o que acontece.
Agora, execute novamente o código. E como não vimos nenhum erro, o que significa que nosso código conclui a execução bem-sucedida.
Subscrito VBA fora do intervalo - Exemplo # 2
Em outro exemplo, veremos novamente um código simples de ativação de uma planilha. Para isso novamente, escreveremos o código. Comece a escrever a subcategoria no nome de uma função executada ou em qualquer outro nome, como mostrado abaixo.
Código:
Sub Subscript_OutOfRange2 () End Sub
Agora, com a ajuda da Planilha, ativaremos a Plan1 como mostrado abaixo.
Código:
Sub Subscript_OutOfRange2 () Planilhas ("Plan1"). Ativar End Sub
Agora compile o código completo e execute. Notaremos que nenhuma mensagem de erro foi exibida, o que significa que a execução do código foi bem-sucedida. Agora vamos colocar o espaço entre "Folha 1"
Novamente compile e execute o código.
Como podemos ver acima, mesmo que nosso processo completo e a maneira de escrever o código estejam corretos, mas adotamos o nome correto da planilha como "Folha 1". Que, na realidade, não tem espaço entre "Plan1".
Isso mostra que ainda há chances de ocorrer um erro se não soletrar ou escrever o nome correto da planilha ou da pasta de trabalho.
Subscrito VBA fora do intervalo - Exemplo # 3
Neste exemplo, veremos como a escolha do intervalo incorreto da matriz pode criar e mostrar o erro em tempo de execução 9. Comece a escrever a subcategoria novamente no nome da função executada, como mostrado abaixo.
Código:
Sub Subscript_OutOfRange3 () End Sub
Agora, com a ajuda do DIM, defina uma matriz de qualquer tamanho e a dê a String ou Inteiros. Depende do que queremos armazenar em Array, números ou texto.
Aqui, consideramos uma matriz de 2 × 3 como String, como mostrado abaixo.
Código:
Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Como String End Sub
Com isso, formará uma tabela para 2 linhas e 3 colunas e podemos armazenar quaisquer valores conforme nossa necessidade. Como selecionamos String, consideraremos o texto ou os alfabetos.
Agora, na segunda linha de código, selecione a matriz criada, mas com uma coluna extra ou mais e atribua um texto como ABC ou qualquer outro texto conforme sua escolha. Aqui, selecionamos uma matriz de 2 × 5, como mostrado abaixo.
Código:
Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) Como String SubArray (2, 5) = ABC End Sub
Agora compile e execute o código. Como podemos ver na captura de tela abaixo, recebemos uma mensagem de erro VBA Subscript fora do intervalo do erro de tempo de execução 9.
O motivo para obter esse erro é porque selecionamos um intervalo de Matrizes incorreto em duas colunas extras de 2 × 3 a 2 × 5, que está além do limite do código. Agora, se selecionarmos novamente o intervalo correto de matriz como 2 × 3 e ver o que acontece.
Depois de compilar e executar o código. Veremos que não recebemos nenhum erro, o que significa que nossa execução do código foi bem-sucedida.
Profissionais do Excel VBA Subscript fora do intervalo
- O VBA Subscript fora do intervalo nos permite saber que tipo de erro ocorreu. Para que possamos encontrar especificamente a solução do código de erro obtido.
- Como o VBA subscrito fora do intervalo, o 'Erro em tempo de execução 9' é bastante útil para saber que tipo de erro ocorreu no Excel.
Coisas para lembrar
- Recomenda-se usar Subcategoria no nome da função executada com uma sequência de código para que seja fácil rastreá-la corretamente.
- Salve o arquivo como pasta de trabalho habilitada para macro para evitar a perda de código gravado.
- Se você tiver grandes linhas de código, é melhor compilar cada linha de código, uma por uma, pressionando a tecla F8. Este método compila cada etapa do código para que possamos saber diretamente qual parte do código realmente tem o erro desde o início.
Artigos recomendados
Este foi um guia para o Excel VBA Subscript fora do intervalo. Aqui discutimos por que ocorre o erro fora do intervalo do VBA Subscript (erro em tempo de execução 9), juntamente com alguns exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Como corrigir: Erro do VBA 1004?
- Noções básicas sobre erros no Excel
- Guia completo do VBA On Error
- Uso da função IFERROR Excel