Colunas de inserção do VBA - Como inserir coluna na planilha do Excel com o VBA?

Normalmente, na planilha do Excel, temos dois métodos diferentes para adicionar ou inserir colunas, um sendo o atalho do teclado e outro usando o botão direito do mouse e inserir o método, mas no VBA temos que usar o comando de inserção e a instrução de coluna inteira para adicionar qualquer coluna, o O truque para isso é que, se precisarmos inserir uma única coluna, fornecemos uma referência de coluna única, mas para as colunas múltiplas fornecemos referências de colunas múltiplas.

Inserir colunas no Excel usando VBA

Como parte do código VBA, podemos precisar inserir algumas colunas em nossa folha de dados para atender às nossas necessidades. Inserir coluna é a tecla de atalho fácil na planilha pressionando Ctrl +, mas que tal inserir uma nova coluna por meio do código VBA. Neste artigo sobre “Coluna de Inserção do VBA”, mostraremos o processo de adição de colunas no Excel e mostraremos exemplos de diferentes cenários.

Como inserir colunas na planilha do Excel usando o VBA?

Podemos inserir colunas no VBA usando a propriedade COLUMNS e o objeto RANGE. Você deve saber por que precisamos de colunas e objetos de intervalo para inserir uma nova coluna.

Para inserir uma nova coluna, precisamos identificar após qual coluna precisamos inserir, sem dizer, após qual coluna precisamos inserir como o VBA pode entender a lógica.

Por exemplo, se você deseja inserir a coluna após a coluna B, você pode construir o código assim.

Colunas (“C”)

Nota: A razão pela qual usei C para inserir uma coluna depois, porque a célula selecionada será deslocada para o lado direito.

Após as colunas serem especificadas, precisamos acessar a propriedade “Coluna Inteira”.

Colunas (“C”). ColunaInteira

Então precisamos escolher o método “Inserir”.

Colunas (“C”). WholeColumn.Insert

Isso irá inserir a coluna após a coluna C, e a coluna C existente será movida para D.

Exemplo # 1 - Inserir colunas usando objeto Range no VBA

Agora, observe a maneira de inserir a coluna usando o objeto RANGE. Para isso, considere os dados abaixo como um exemplo.

Agora eu quero inserir a coluna VBA após a coluna A, siga as etapas abaixo para construir o código.

Etapa 1: iniciar o procedimento secundário.

Passo 2: Abra o objeto Range .

Código:

Sub ColumnInsert_Example1 () Intervalo (End Sub

Etapa 3: Agora mencione a coluna entre aspas duplas .

Código:

Sub ColumnInsert_Example1 () Range ("B: B") End Sub

Etapa 4: Agora escolha a propriedade Coluna Inteira .

Código:

Sub ColumnInsert_Example1 () Intervalo ("B: B"). Ent End Sub

Passo 5: Após selecionar a propriedade Coluna Inteira, escolha o método “Inserir” .

Código:

Sub ColumnInsert_Example1 () Range ("B: B"). WholeColumn.ins End Sub

Agora seu código se parece com isso.

Código:

Sub ColumnInsert_Example1 () Range ("B: B"). WholeColumn.Insert End Sub

Execute o código. Isso irá inserir a nova coluna B.

Exemplo # 2 - inserir várias colunas

Por exemplo, se você deseja inserir duas novas colunas após a coluna A, precisamos mencionar os endereços de duas colunas.

Código:

Sub ColumnInsert_Example1 () Range ("B: C"). WholeColumn.Insert End Sub

O código acima irá inserir duas colunas após a coluna A.

Exemplo # 3 - Com método apenas de “inserção”

Podemos inserir uma nova coluna usando “Inserir” o único método sem acessar a propriedade Coluna Inteira. Para isso, vamos entender a sintaxe do método “insert”.

Expression.Insert ((Shift), (Copiar Origem))

(Shift): Quando inserimos a nova coluna, se precisamos que as colunas se desloquem para o lado direito ou para o lado negativo no caso de linhas. Aqui podemos usar duas opções, “xlToRight” e “xlDownTo”

(Copiar Origem): Isso especificará o formato da coluna recém-inserida. Se você precisa do formato do lado esquerdo da coluna ou das células acima. Aqui podemos usar duas opções “xlFormatFromLeftOrAbove” e “xlFormatFromRightOrBelow”.

Abaixo está o código de exemplo para você.

Sub ColumnInsert_Example1 () Intervalo ("B: B"). Inserir Shift: = xlToRight, Copyorigin: = xlFormatFromLeftOrAbove End Sub

Exemplo 4 - Inserir colunas usando a propriedade COLUMNS no VBA

Vimos como inserir colunas em VBA usando o objeto RANGE; agora, mostraremos que podemos inserir colunas usando a propriedade “COLUMNS”.

Abra a propriedade COLUMNS.

Código:

Sub ColumnInsert_Example2 () Colunas (End Sub

Podemos especificar a coluna de duas maneiras aqui. Um está usando as referências alfabéticas usuais e o outro está usando números de coluna.

If you want to insert the column after column A, then the code will be COLUMNS(“B”). If you are using numerical reference, then the code will be COLUMNS(2).

Code:

Sub ColumnInsert_Example2() Columns("B"). End Sub

Now the problem for you arises because when we use COLUMNS property, we don’t get to access the IntelliSense list.

Code:

Sub ColumnInsert_Example2() Columns("B").Entir End Sub

Here we need to sure of what we are doing. So this is the reason I have showed you the RANGE object first.

Code:

Sub ColumnInsert_Example2() Columns("B:B").EntireColumn.Insert End Sub

Example #5 - Insert Alternative Columns

Assume you have the data like the below image.

If you want to insert new columns after every alternate row, then we need to use VBA loops. The below code it tailor-made the code for you.

Code:

Sub ColumnInsert_Example3 () Dim k As Inteiros Colunas (2) .Selecionar Para k = 2 a 8 ActiveCell.EntireColumn.Insert ActiveCell.Offset (0, 2) .Selecionar Próximo k End Sub

Isso irá inserir a coluna como esta.

Exemplo # 6 - Inserir coluna com base no valor da célula

Também podemos inserir uma coluna com base no valor da célula. Por exemplo, observe os dados abaixo.

Aqui, desejo inserir a coluna se o valor da célula da primeira linha for “Ano” e meus dados assim devem ser após inserir novas colunas.

Use o código abaixo para realizar esta tarefa.

Código:

Sub ColumnInsert_Example4 () Dim k As Integer Dim x As Integer x = 2 For k = 2 To 12 If Cells (1, x) .Value = "Year" Then Cells (1, x) .EntireColumn.Insert x = x + 1 End If x = x + 1 Next k End Sub

Você pode baixar este Excel Insert Columns do VBA aqui. VBA Insert Columns Excel Template

Artigos interessantes...