Faixa de redimensionamento do Excel VBA

Redimensionar intervalo usando VBA

Este tutorial irá demonstrar como usar o Resize Property do Objeto de alcance para alterar para retornar um novo intervalo redimensionado do objeto Range original.

Sintaxe

A sintaxe da propriedade Resize é:

1 Intervalo ("A1"). Redimensionar (RowSize, ColumnSize)

Onde Range (“A1”) é o seu intervalo inicial.

RowSize e ColumnSize devem ser maiores que zero. Cada entrada é opcional (por exemplo, você pode omitir RowSize para alterar apenas o número de colunas ou vice-versa).

Redimensionar o número de linhas e colunas

O exemplo a seguir expande o intervalo com uma célula A1 para o intervalo A1: D10, aumentando a contagem de linhas para 10 e a contagem de colunas para 5.

1 Intervalo ("A1"). Redimensionar (10, 5) .Selecionar

Ou, mais comumente, você atribuirá o intervalo redimensionado a uma variável:

12 'Redimensione o intervalo para o tamanho desejado e atribua a uma variávelDefina newRng = ActiveSheet.Range ("A1"). Redimensionar (10, 5)

Redimensionar apenas o número de linhas

O exemplo a seguir altera apenas o número de linhas:

12 'Alterar o tamanho da linha apenas, o novo intervalo será $ A $ 1: $ A $ 10Defina newRng = rng.Resize (10)

Redimensionar apenas o número de colunas

O exemplo a seguir altera apenas o número de colunas:

12 'Alterar o tamanho da coluna apenas, o novo intervalo será $ A $ 1: $ E $ 1Defina newRng = rng.Resize (, 5)

Redimensionar o intervalo da tabela para excluir o cabeçalho

Se você tiver uma tabela na planilha ativa com uma linha de cabeçalho, o código primeiro selecionará a tabela inteira e, em seguida, moverá uma linha para baixo para excluir o cabeçalho usando o método Range.Offset. Em seguida, ele usará a propriedade Range.Resize para reduzir o tamanho em uma linha.

1234567891011 Sub SelectTableData ()' **IMPORTANTE**'Clique em qualquer célula da tabela antes de executar a macro'Mova uma linha para baixo usando Offset e, em seguida, reduza o tamanho do intervalo em uma linhaDefina tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)'Os dados são selecionados, excluindo a linha do cabeçalhotbl.Address.SelectEnd Sub

Gravar array 2-D para intervalo

Outro uso comum é gravar uma matriz bidimensional em uma folha. Uma vez que o intervalo a ser escrito deve corresponder ao tamanho da matriz, que normalmente não é conhecido com antecedência, o método Resize é usado para definir o intervalo de saída

O exemplo abaixo irá ler os dados no intervalo A1: E10 na planilha ativa em uma matriz e escrever a matriz na planilha ‘Saída’ começando na célula A1:

123456 Sub WriteArray ()'Leia os dados para um arraydados = intervalo ("A1: E10"). Valor'Redimensione o intervalo de saída e escreva o arrayPlanilhas ("Saída"). Faixa ("A1"). Redimensionar (UBound (dados, 1), UBound (dados, 2)). Valor = dadosEnd Sub

Escrito por: Vinamra Chandra

wave wave wave wave wave