VBA LBound

Função Excel VBA LBound

LBound em VBA significa “Lower Bound”, ou seja, ele extrairá o menor número de um array. Por exemplo, se a matriz diz “Dim ArrayCount (2 a 10) as String”, então usando a função LBound podemos encontrar o menor número do comprimento da matriz, ou seja, 2.

Abaixo está a sintaxe da função LBound. É muito simples e fácil, possui apenas dois parâmetros.

Lbound (nome da matriz [, dimensão])
  • Nome da matriz: este é o primeiro argumento. Para este parâmetro, precisamos especificar o nome do array que é usado para definir o array.
  • [Dimensão]: Se a matriz for uma dimensão única, isso não é necessário, por padrão, leva uma ou então precisamos fornecer o número da dimensão.

Então, usando essas funções, podemos encontrar o comprimento mínimo de um array.

Como usar a função VBA LBound? (Exemplo)

Você pode baixar este modelo VBA LBound Excel aqui - Modelo VBA LBound Excel

Exemplo 1

Para obter um exemplo, veja o código abaixo.

Código:

 Sub LBound_Example1 () Dim Count (2 a 5) As Integer MsgBox LBound (Count) End Sub 

No código acima, definimos o array como inteiro e o tamanho do array como 2 a 5. Em seguida, atribuímos a caixa de mensagem VBA para mostrar o menor comprimento do array usando a função LBound.

Quando executarmos o código, obteremos o resultado abaixo em uma caixa de mensagem.

Resultado:

Como nosso array começa em 2, a função LBound determina o menor comprimento do array como 2.

Exemplo # 2

Agora, olhe para o código abaixo.

Código:

 Sub LBound_Example2 () Dim Count (5) As Integer MsgBox LBound (Count) End Sub 

Acima, não decidimos o limite inferior, em vez disso, apenas fornecemos o comprimento do array como 5, agora vamos executar o código e ver o comprimento mais baixo do valor.

Resultado:

Ele retornou o resultado como 0 porque quando não decidimos o ponto inicial e final de uma matriz, em vez disso, fornecemos o número estático, por exemplo, “Contagem (5) ou seja, neste caso, o valor da matriz começa em 0 e não em 1. Portanto, pode armazenar até 6 valores nele agora.

Contagem (0), Contagem (1), Contagem (2), Contagem (3), Contagem (4), Contagem (5).

Exemplo # 3

Agora vamos usar o intervalo de dados e decidir o limite inferior do intervalo de dados. Para obter um exemplo, veja a imagem de dados abaixo.

A partir deste intervalo, decidiremos o tamanho de linha mais baixo e mais alto.

Primeiro, defina a variável como uma variante.

Código:

 Sub LBound_Example3 () Dim Rng As Variant End Sub 

Para esta variável variante “Rng”, defina o valor de referência do intervalo como “Intervalo (“ B2: B5 ”). Valor”.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("B2: B5"). Valor End Sub 

Para este intervalo, encontraremos o menor e o maior comprimento de array. Abra a caixa de mensagem e a função LBound e forneça o nome da variável.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("B2: B5"). Valor MsgBox LBound (Rng) End Sub 

Agora execute o código VBA e veja o menor valor do comprimento.

Resultado:

Agora mude a referência da variável de B2: B5 para A2: B5.

Para este intervalo, encontraremos os valores dos limites inferior e superior.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("A2: B5"). Valor End Sub 

Como temos mais de uma matriz de dimensão, precisamos fornecer o número da dimensão também.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("A2: B5"). Valor MsgBox LBound (Rng, 1) End Sub 

Para encontrar a primeira coluna, o primeiro limite inferior acima do código ajudará, da mesma forma, encontrar o limite superior nesta primeira coluna abaixo do código ajudará.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("A2: B5"). Valor MsgBox LBound (Rng, 1) & vbNewLine & UBound (Rng, 1) End Sub 

Isso encontrará o comprimento inferior e o comprimento superior da primeira coluna. Da mesma forma, na próxima linha, escreva mais uma caixa de mensagem, mas desta vez altere a dimensão de 1 para 2.

Código:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("A2: B5"). Valor MsgBox LBound (Rng, 1) & vbNewLine & UBound (Rng, 1) MsgBox LBound (Rng, 2) & vbNewLine & UBound (Rng, 2) End Sub 

Execute o código e veja o resultado na caixa de mensagem.

Resultado:

For the first dimension lower bound is 1 and the upper bound is 4.

Click on “Ok” to get the next dimension limits.

Output:

For the second dimension lower limit is 1 and the upper limit is 2.

Things to Remember here

  • LBound function returns the minimum length from the array.
  • When the array length static i.e. single number then array always starts from the number 0 not from 1.
  • In the case of a multi-dimensional array, we need to specify the dimension number.