Redimensionar VBA

Excel VBA Resize

Redimensionar é uma propriedade disponível no VBA para alterar ou redimensionar o intervalo de células da célula ativa conforme necessário. Por exemplo, suponha que você esteja na célula B5 e, a partir desta célula, se você deseja selecionar 3 linhas e duas colunas, podemos alterar o tamanho de um intervalo usando a propriedade RESIZE do VBA.

Sintaxe da propriedade de redimensionamento do VBA

Abaixo está a sintaxe da propriedade VBA RESIZE.

Intervalo (). Redimensionar ([Tamanho da linha], [Tamanho da coluna])

Primeiro, precisamos fornecer de qual célula precisamos redimensionar usando o objeto Range .

Em seguida, use a propriedade Resize do Excel VBA e nesta propriedade, precisamos fornecer o limite de tamanho de linha e o limite de tamanho de coluna . Com base nos números de linha e coluna fornecidos, ele o redimensionará.

Exemplos de uso de redimensionamento em VBA

Abaixo estão os exemplos de uso de redimensionamento no Excel VBA.

Você pode baixar este modelo Excel de redimensionamento VBA aqui - Modelo Excel de redimensionamento VBA

Exemplo 1

Suponha que você tenha dados da célula A1 a B14 e da célula A1, se você quiser selecionar 3 linhas para baixo e duas colunas no intervalo esquerdo, podemos fazer isso usando a propriedade RESIZE no Excel VBA.

Abaixo estão os dados que estamos usando para este exemplo.

Portanto, primeiro precisamos fornecer a primeira referência de célula ou ponto de partida usando o objeto RANGE; neste exemplo, o ponto de partida é a célula A1.

Código:

Sub Resize_Example () Intervalo ("A1"). End Sub

Para este intervalo use a propriedade RESIZE.

Código:

 Sub Resize_Example () Intervalo ("A1"). Resize (End Sub 

O primeiro argumento de RESIZE é o tamanho da linha, então precisamos selecionar 3 linhas dos dados e fornecer o valor numérico de 3.

Código:

 Sub Resize_Example () Intervalo ("A1"). Resize (3, End Sub 

O próximo argumento é o tamanho da coluna para inserir como as colunas você precisa selecionar, irei inserir 3 colunas.

Código:

 Sub Resize_Example () Range ("A1"). Resize (3,3) End Sub 

Uma vez feito o redimensionamento, precisamos fornecer o que precisamos fazer com este intervalo. Vou apenas escolher o método “Selecionar” para começar.

Código:

 Sub Resize_Example () Intervalo ("A1"). Resize (3, 3) .Selecionar End Sub 

Execute o código e veja quantas linhas e quantas colunas ele selecionaria.

Como você pode ver acima, na célula A1, ela selecionou três linhas para baixo e três colunas para a direita.

Exemplo # 2

Agora dê uma olhada no código do VBA abaixo.

No código acima para Tamanho da Linha, fornecemos célula em branco  e para Tamanho da Coluna, fornecemos 3.

Código:

 Sub Resize_Example () Intervalo ("A1"). Resize (0, 3) .Selecione End Sub 

Execute o código e veja quantas linhas e quantas colunas ele selecionaria.

Como você pode ver, ele selecionou apenas a linha da célula ativa, ou seja, a primeira linha e três colunas. Isso ocorre porque, para Tamanho da linha , fornecemos células em branco  e, para Tamanho da coluna, fornecemos 3 e, portanto, selecionamos o intervalo de dados.

Agora, olhe para o código abaixo.

Código:

 Sub Resize_Example () Intervalo ("A1"). Resize (3) .Selecionar End Sub 

O que esse código fará é selecionar apenas três linhas, incluindo a linha da célula ativa, mas nenhuma coluna extra.

Exemplo # 3

Use o redimensionamento para selecionar intervalos desconhecidos. O redimensionamento é melhor utilizado quando você deseja selecionar um intervalo desconhecido de células. Por exemplo, observe a imagem abaixo do intervalo de dados.

Ele possui dados de todas as maneiras, da coluna A à coluna P e, em termos de linha, temos até a 700ª linha.

Suponha que você saiba que seus dados continuarão mudando e você deseja selecionar o intervalo de dados de vez em quando, alterando manualmente o número da linha e da coluna. No entanto, usando a propriedade VBA RESIZE, podemos fazer isso facilmente.

Olhe o código abaixo.

Código:

 Sub Resize_Example1 () Dim LR As Long Dim LC As planilhas longas ("Dados de vendas"). Selecione LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Cells (1, 1) .Resize (LR, LC) .Select End Sub 

Primeiro, declarei duas variáveis ​​para encontrar a última linha usada (LR) e a última coluna usada (LC).

 Dim LR As Long Dim LC As Long 

Como nossos dados estão na planilha chamada “Dados de vendas”, estamos escolhendo esta planilha usando o código a seguir.

Planilhas (“Dados de vendas”). Selecione

Agora o código abaixo encontrará a última linha usada e a última coluna usada.

LR = Células (Rows.Count, 1) .End (xlUp) .Row

LC = Células (1, Columns.Count) .End (xlToLeft) .Column

Now from the first cell, we resizing the range from last used row to last used column and select is the method used. So now it doesn’t matter how big your data is it will dynamically select the data by finding the last used row and last used column.

Things to Remember

  • Resize property in VBA will change the size of the range from the active cell (including the active cell as well).
  • We just need to provide how many rows and how many columns to be resized from the active cell in VBA.
  • We cannot use negative row & column number for RESIZE property.