Preenchimento automático com uma macro - exemplos de código VBA

Preenchimento automático em VBA

Este artigo demonstra como usar o Preenchimento automático no VBA.

O Preenchimento automático é uma ótima ferramenta do Excel quando os dados são repetitivos ou sequenciais (como dias da semana, datas, meses do ano etc.). Normalmente, preencheríamos as primeiras células com os dados necessários e, em seguida, usaríamos o Preenchimento automático para copiar os dados necessários para um intervalo selecionado.

Tudo isso pode ser feito usando uma macro VBA.

Preenchimento automático usando números incrementais

Em primeiro lugar, em nosso código, podemos declarar duas variáveis ​​Range.

Seleção1 é o intervalo com os dados a serem preenchidos automaticamente - por exemplo, 1 e 2.

Seleção2 é o inteira intervalo para preenchimento automático, isso inclui o primeiro intervalo mais os espaços em branco para preenchimento automático.

Em seguida, usamos o método AutoPreenchimento para preencher o segundo intervalo de seleção.

123456789101112131415 Public Sub MyAutoFill ()'por easyexcel.net'Declarar Variáveis ​​de AlcanceDim selection1 como rangeDim selection2 como range'Definir variáveis ​​de intervalo = seus respectivos intervalosDefinir seleção1 = Folha1.Range ("A1: A2")Definir seleção2 = Folha1.Range ("A1: A12")'Preenchimento Automáticoselection1.AutoFill Destination: = selection2End Sub

Podemos então executar a macro para intervalo de preenchimento automático (A1: A12).

Quando estamos usando o método de preenchimento automático, podemos selecionar o tipo de preenchimento automático que desejamos realizar. No exemplo acima, não especificamos o tipo de Preenchimento automático, o que significa que o tipo padrão foi usado - neste caso, incrementando os números em 1 em cada linha.

Preenchimento automático usando meses

A macro para preenchimento automático usando meses é quase idêntica à usada para incrementar números, com uma exceção importante.

1234567891011 Public Sub AutoFillMonths ()'por easyexcel.net'Declarar Variáveis ​​de AlcanceDim selection1 como rangeDim selection2 como range'Definir variáveis ​​de intervalo = seus respectivos intervalosDefinir seleção1 = Folha1.Range ("A1: A2")Definir seleção2 = Folha1.Range ("A1: A12")'Preencher automaticamente os mesesDestino do Preenchimento automático: = seleção2, Tipo: = xlFillMonthsEnd Sub

Quando preenchemos o tipo de preenchimento automático, temos uma série de constantes do Excel para escolher. Se deixarmos isso de fora, o Excel determinará o tipo de dados a preencher a partir dos dados originais fornecidos.

O Excel é capaz de selecionar séries padrão como meses, dias da semana e números incrementais sem a necessidade de usar o argumento Tipo.

Preenchimento automático usando xlFillCopy

Se quisermos usar uma macro AutoPreenchimento para copiar as informações para novas células, podemos usar a constante xlFillCopy.

1234567 Public Sub AutoFillCopy ()Dim Selection1 As RangeDim Selection2 As RangeDefinir Seleção1 = Folha1.Range ("A1: A1")Definir Seleção2 = Folha1.Range ("A1: A12")Destino Selection1.AutoFill: = Seleção2, Tipo: = xlFillCopyEnd Sub

A execução dessa macro copiaria os dados em Intervalo (“A1”) até Intervalo (“A1: A12”) em vez de preencher automaticamente as células com meses subsequentes a partir de “Jan”.

Preenchimento automático usando xlFlashFill

Quando precisamos converter texto em colunas no Excel, podemos usar a opção de texto em colunas ou podemos usar uma opção chamada Preenchimento Flash. Isso é extremamente útil no VBA.

Pegue os seguintes dados, por exemplo:

Podemos digitar o sobrenome “Tolley” na célula B2 e, em seguida, usar uma macro para preencher o restante dos dados.

1234567 Sub FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeDefinir Seleção1 = Faixa ("B2: B2")Definir Seleção2 = Faixa ("B2: B15")Destino Selection1.AutoFill: = Seleção2, Tipo: = xlFlashFillEnd Sub

Podemos então repetir isso nas colunas C, D e E para obter os dados restantes.

1234567891011 Definir Seleção1 = Faixa ("C2: C2")Definir Seleção2 = Faixa ("C2: C15")Destino Selection1.AutoFill: = Seleção2, Tipo: = xlFlashFillDefinir Seleção1 = Faixa ("D2: D2")Definir Seleção2 = Faixa ("D2: D15")Destino Selection1.AutoFill: = Seleção2, Tipo: = xlFlashFillDefinir Seleção1 = Faixa ("E2: E2")Definir Seleção2 = Faixa ("E2: E15")Destino Selection1.AutoFill: = Seleção2, Tipo: = xlFlashFill

Cada coluna será preenchida com os dados apropriados com base no valor da linha 2.

wave wave wave wave wave