VBA Resize - Como usar a propriedade de redimensionamento no Excel VBA? (Com exemplos)

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 dessa célula, se quiser selecionar 3 linhas e duas colunas, podemos alterar o tamanho de um intervalo usando a propriedade REDIMENSIONAR 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 será redimensionado.

Exemplos de uso de redimensionamento em VBA

Abaixo estão os exemplos de uso de redimensionamento no Excel 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 à esquerda, podemos fazer isso usando a propriedade RESIZE no Excel VBA.

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

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 é Tamanho da linha, portanto, 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 isso, insira como as colunas você precisa selecionar. Vou 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élulas 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, tem selecionar somente a linha célula ativa, ou seja, 1 st 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 () Range ("A1"). Resize (3) .Selecionar End Sub

What this code will do is it will select only three rows, including the active cell row but no extra columns.

Example #3

Use Resize To Select Unknown Ranges. Resize is best utilized when you want to select an unknown range of cells. For example, look at the below image of the data range.

It has data all the ways from Column A to Column P and row-wise we have up until the 700th row.

Assume you know your data will keep changing, and you want to select the data range every now and then by manually changing the row and column number. However, by using VBA RESIZE property, we can do this easily.

Look at the below code.

Code:

Sub Resize_Example1() Dim LR As Long Dim LC As Long Worksheets("Sales Data").Select 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

First, I have declared two variables to find the last used row (LR) and the last used column (LC).

Dim LR As Long Dim LC As Long

Since our data is in the worksheet named “Sales Data,” we are choosing this worksheet by using the below code.

Worksheets(“Sales Data”).Select

Now below code will find the last used row and last used column.

LR = Cells(Rows.Count, 1).End(xlUp).Row

LC = Cells(1, Columns.Count).End(xlToLeft).Column

Agora, da primeira célula, estamos redimensionando o intervalo da última linha usada até a última coluna usada e select é o método usado. Portanto, agora não importa o tamanho dos seus dados. Ele selecionará os dados dinamicamente, encontrando a última linha usada e a última coluna usada.

Coisas para lembrar

  • A propriedade de redimensionamento no VBA mudará o tamanho do intervalo da célula ativa (incluindo a célula ativa também).
  • Precisamos apenas fornecer quantas linhas e quantas colunas serão redimensionadas da célula ativa no VBA.
  • Não podemos usar linhas e colunas negativas para a propriedade RESIZE.

Artigos interessantes...