Este tutorial demonstrará como usar o VBA para inserir linhas e colunas no Excel.
Para inserir linhas ou colunas, usaremos o Método de Inserção.
Insira uma única linha ou coluna
Inserir Nova Linha
Para inserir uma única linha, você pode usar o objeto Rows:
1 | Linhas (4) .Inserir |
Ou você pode usar o objeto Range junto com WholeRow:
1 | Range ("b4"). WholeRow.Insert |
Inserir Nova Coluna
Semelhante à inserção de linhas, podemos usar o objeto Columns para inserir uma coluna:
1 | Colunas (4). Insira |
Ou o Range Object, junto comgetherColumn:
1 | Range ("b4"). WholeColumn.Insert |
Inserir várias linhas ou colunas
Inserir várias linhas
Ao inserir várias linhas com o objeto Rows, você deve inserir as linhas entre aspas:
1 | Linhas ("4: 6"). Inserir |
A inserção de várias linhas com o objeto Range funciona da mesma forma que com uma única linha:
1 | Range ("b4: b6"). WholeRow.Insert |
Inserir Múltiplas Colunas
Ao inserir várias colunas com o objeto Columns, insira a coluna cartas entre aspas:
1 | Colunas ("B: D"). Inserir |
A inserção de várias colunas com o objeto Range funciona da mesma forma que com uma única coluna:
1 | Range ("b4: d4"). WholeColumn.Insert |
Inserir - Shift & CopyOrigin
o Método de Inserção tem dois argumentos opcionais:
- Mudança - Em qual direção deslocar as células
- CopyOrigin - Qual formatação de célula copiar (acima, abaixo, esquerda ou direita)
O argumento Shift é irrelevante ao inserir linhas ou colunas inteiras. Ele apenas permite que você indique se deslocar para baixo ou para a direita:
- xlShiftDown - Deslocar células para baixo
- xlShiftToRight - Deslocar células para a direita
Como você pode ver, você não pode mudar para cima ou para a direita.
o CopyOrigin argumento tem duas entradas potenciais:
- xlFormatFromLeftorAbove - (0) Células recém-inseridas recebem formatação das células acima ou à esquerda
- xlFormatFromRightorBelow (1) Células recém-inseridas recebem formatação das células abaixo ou à direita.
Vejamos alguns exemplos de CopyOrigin argumento. Aqui estão nossos dados iniciais:
Este exemplo irá inserir uma linha, tomando a formatação da linha acima.
1 | Linhas (5) .Insert, xlFormatFromLeftOrAbove |
Este exemplo irá inserir uma linha, tomando a formatação da linha abaixo.
1 | Linhas (5) .Insert, xlFormatFromRightOrBelow |
Outros exemplos de inserção
Inserir linhas ou colunas copiadas
Se você gostaria de inserir uma linha copiada, você usaria um código como este:
12 | Intervalo ("1: 1"). CopiarIntervalo ("5: 5"). Insira |
Aqui, copiamos a linha 1 e inserimos na linha 5.
Inserir linhas com base no valor da célula
Isso fará um loop em um intervalo, inserindo linhas com base nos valores das células:
1234567891011 | Sub InsertRowswithSpecificValue ()Dim cell como rangePara cada célula no intervalo ("b2: b20")Se cell.Value = "inserir" Entãocell.EntireRow.InsertFim sePróxima célulaEnd Sub |
Excluir linhas ou colunas
Para excluir linhas ou colunas, basta usar o Excluir método.
1234567 | Linhas (1). ExcluirRange ("a1"). WholeRow.DeleteColunas (1). ExcluirRange ("a1"). WholeColumn.Delete |