Note: The other languages of the website are Google-translated. Back to English

Como copiar e inserir linha várias vezes ou duplicar a linha x vezes no Excel?

Em seu trabalho diário, você já tentou copiar uma linha ou cada linha e, em seguida, inserir várias vezes abaixo da linha de dados atual em uma planilha? Por exemplo, eu tenho um intervalo de células, agora, quero copiar cada linha e colá-las 3 vezes na próxima linha, como mostrado a seguir na captura de tela. Como você poderia lidar com esse trabalho no Excel?


Copie e insira uma linha específica várias vezes com o código VBA

Se você deseja duplicar apenas uma linha específica x vezes, o seguinte código VBA pode ajudá-lo, faça o seguinte:

1. Especifique uma linha que deseja copiar e inserir várias vezes e, em seguida, mantenha pressionado o ALT + F11 chaves, então ele abre o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: Duplique uma linha específica várias vezes:

Sub test()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3. Depois de colar o código, pressione F5 para executar este código e uma caixa de prompt é exibida para lembrá-lo de inserir o número de vezes que você deseja duplicar, consulte a captura de tela:

4. Então clique OK botão, e três novas linhas copiadas foram inseridas abaixo da linha selecionada, veja a captura de tela:


Copie e insira cada linha várias vezes com base em um número específico facilmente

Normalmente, não existe um bom método para copiar e inserir linhas várias vezes, exceto lidar com copiar e inserir manualmente. Mas com Kutools for Excel's Duplicar linhas / colunas com base no valor da célula recurso, você pode resolver esse problema com facilidade. Clique para baixar o Kutools para Excel!

Kutools for Excel: com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 60 dias. Baixe e teste grátis agora!


Copie e insira cada linha várias vezes com o código VBA

Para duplicar cada linha várias vezes em um intervalo, você pode aplicar o seguinte código VBA, faça o seguinte:

1. Segure o ALT + F11 chaves, então ele abre o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: duplique cada linha várias vezes:

Sub insertrows()
'Updateby Extendoffice
Dim I As Long
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
If xCount < 1 Then
MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
GoTo LableNumber
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Rows(I).Copy
Rows(I).Resize(xCount).Insert
Next
Application.CutCopyMode = False
End Sub

3. E, em seguida, pressione F5 para executar este código, e uma caixa de prompt é exibida para lembrá-lo de inserir o número de vezes que deseja duplicar para cada registro, consulte a captura de tela:

4. Então clique OK, e cada linha foi copiada e inserida 3 vezes abaixo das ativas, veja a captura de tela:

Nota: No código acima, o A indica que o intervalo de dados começa na coluna A, se seus dados começam na coluna K, Por favor, mude A para K conforme sua necessidade.


Copie e insira cada linha várias vezes com base em um número específico com um recurso incrível

Talvez você não esteja familiarizado com o código do VBA ou se preocupe se o código travará seus dados. Aqui, vou apresentar um recurso útil, Kutools for Excel's Linhas / colunas duplicadas com base no valor da célula, com este utilitário, você pode copiar e inserir rapidamente as linhas com base no número especificado.

Dicas:Para aplicar isso Linhas / colunas duplicadas com base no valor da célula recurso, em primeiro lugar, você deve baixar o Kutools for Excele, em seguida, aplique o recurso de forma rápida e fácil.

Depois de instalar Kutools for Excel, por favor, faça o seguinte:

1. Digite os números de repetição que você deseja duplicar linhas em uma lista de células ao lado de seus dados, consulte a captura de tela:

2. Clique Kutools > inserção > Linhas / colunas duplicadas com base no valor da célula, veja a captura de tela:

3. No Copiar e inserir linhas e colunas caixa de diálogo, selecione Copiar e inserir linhas opção no para cada ocasião seção, selecione o intervalo de dados que deseja duplicar e especifique o tempo de repetição para duplicar as linhas, consulte a captura de tela:

4. Então clique Ok or Aplicar botão, você obterá o seguinte resultado conforme necessário:

Clique para baixar Kutools para Excel e avaliação gratuita agora!


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (32)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Obrigado!
Este comentário foi feito pelo moderador no site
Incrível Macro - Me economizou muito tempo!
Este comentário foi feito pelo moderador no site
muito bom macro amigo!
Este comentário foi feito pelo moderador no site
eu quero gerar linhas duplicadas aleatoriamente,

por ex. gerar linhas duplicadas aleatórias entre 20 e 80.


qual será o código atualizado para o seguinte


Subinserções()
'Atualizar por Extendoffice 2016616
Escurecer eu enquanto
Dim xCount como inteiro
Número da etiqueta:
xCount = Application.InputBox("Número de Linhas", "Kutools for Excel", , , , , , 1)
Se xCount < 1 Então
MsgBox "o número digitado de linhas é um erro, por favor digite novamente", vbInformation, "Kutools for Excel"
Ir para LableNumber
Se acabar
Para I = Range("A" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
Linhas (I). Copiar
Linhas(I).Resize(xCount).Inserir
Seguinte
Application.CutCopyMode = False
End Sub
Este comentário foi feito pelo moderador no site
Eu quero duplicar linhas com base em um parâmetro. Por exemplo, tenho uma coluna chamada tempo de duração da reunião. Se essa coluna for maior que 1, desejo duplicar as linhas de ID da reunião com base nesse número. Se a duração da reunião for de 2 horas, duplique o meetingID duas vezes. Se a reunião for de 3 horas, duplique três vezes.
incrementos de meia hora podem ser arredondados para a hora.

MeetingID Hora de início Hora de término da reunião
43117 9:00 11:00 02:00
43580 9:30 11:00 01:30
42699 10:00 11:30 01:30
12345 01:00 2:00 01:00
Este comentário foi feito pelo moderador no site
Eu tenho o mesmo problema. Você encontrou uma solução?
Este comentário foi feito pelo moderador no site
Oi pessoal,
Pode ser que o seguinte código VBA possa lhe fazer um favor, aplique-o:
Subinserções()
Escurecer eu enquanto
Dim xRg como intervalo
Escurecer xHour, xMin Enquanto
On Error Resume Next
Application.ScreenUpdating = False
Para I = Range("D" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
xHora = 0
Definir xRg = Range("D" & I)
xHora = Hora(xRg.Value) + 1
xMin = Minuto(xRg.Value)
Se xMin < 30 Então xHora = xHora - 1
Linhas (I). Copiar
Linhas(I).Resize(xHour).Inserir
Seguinte
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

Por favor tente. Espero que isso possa ajudar-lhe!
Este comentário foi feito pelo moderador no site
Eu usei essas macros no passado e sempre funcionou até recentemente. Alguma ideia de por que ele duplicaria apenas a linha superior, mesmo ao usar as macros de várias linhas? Eu removi todos os filtros/painéis congelados.
Este comentário foi feito pelo moderador no site
Oi, como posso alterar o código para incluir o seguinte

1. duplicado com base no número de dias
2. alterar a coluna EOM do final do mês para a data diária
Este comentário foi feito pelo moderador no site
Realmente obrigado por seu apoio !!!!
Este comentário foi feito pelo moderador no site
Amei o código! como faço para definir o intervalo inicial para pular a primeira linha (cabeçalhos de coluna) e iniciar na linha 2?
Este comentário foi feito pelo moderador no site
Olá, Devin,
Para pular a primeira linha do cabeçalho, aplique o seguinte código VBA:

Subinserções()
Escurecer eu enquanto
Dim xCount como inteiro
Número da etiqueta:
xCount = Application.InputBox("Número de Linhas", "Kutools for Excel", , , , , , 1)
Se xCount < 1 Então
MsgBox "o número digitado de linhas é um erro, por favor digite novamente", vbInformation, "Kutools for Excel"
Ir para LableNumber
Se acabar
Para I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Linhas (I). Copiar
Linhas(I).Resize(xCount).Inserir
Seguinte
Application.CutCopyMode = False
End Sub

Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Olá, preciso de ajuda, esta é a aparência da minha tabela, por exemplo, quando adiciono 2 linhas no final da minha 1ª tabela, quero que o vba me ajude a fazer a mesma coisa para a tabela abaixo (adicionar 2 linhas no final da tabela). Então meu trabalho será, só preciso adicionar linhas na 1ª tabela, a tabela abaixo de todas irá gerar linhas automaticamente com base no número de linhas da 1ª tabela. são a codificação que usei agora para adicionar linha para a 1ª tabela. Espero que alguém possa resolver esse problema para mim, thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

Dim Rng Longo

Application.DisplayAlerts = False
On Error Resume Next
Rng = InputBox("Digite o número de linhas necessárias.")
Em erro GoTo 0
Application.DisplayAlerts = Verdadeiro

Se Rng = 0 Então
MsgBox "Você não especificou um intervalo!"
Exit Sub

Outro
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)). Selecione
Selection.EntireRow.Insert Shift:=xlDown
Se acabar

End Sub
Este comentário foi feito pelo moderador no site
Adoro! Funciona todas as vezes! Muito obrigado por isso :)
Este comentário foi feito pelo moderador no site
como faço isso para colunas?
Este comentário foi feito pelo moderador no site
Como posso fazer isso para colunas?
Este comentário foi feito pelo moderador no site
como realizar a mesma ação com células selecionadas usando VB,


Preciso repetir algumas células selecionadas (linhas e colunas) x número de vezes na mesma planilha e na mesma ordem que:

line1
line2
line3

line1
line2
line3
Este comentário foi feito pelo moderador no site
oi isso funcionou muito bem, só preciso de duas linhas copiadas N número de vezes. Você pode ajustar o código para que quando eu selecionar duas linhas, ele copie essas duas linhas para baixo N vezes? Obrigado pela ajuda
Este comentário foi feito pelo moderador no site
Olá, Sal,
Se você precisar copiar apenas duas linhas várias vezes, basta usar o código VBA 1 neste artigo, aplicar o código duas vezes resolverá seu problema. Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Copie e insira cada linha várias vezes com código VBA

No código VBA, como posso selecionar a linha inicial
Este comentário foi feito pelo moderador no site
Não funciona com o Windows 2019, deseo usar a função em mención pero simplesmente não hace absolutamente nada
Este comentário foi feito pelo moderador no site
oi a todos .. Obrigado antecipadamente por sua ajuda !!

O código VBA para duplicar uma linha específica várias vezes funciona perfeitamente até você usar um filtro. Gostaria de saber se alguém pode me ajudar a resolver esse problema. Preciso de um código que funcione mesmo que tenha alguns valores filtrados. Estou usando uma grande quantidade de dados que são classificados por locais. O código funciona parcialmente, ele cola o número de linhas desejadas, mas nenhum dado ou formato quando aplico um filtro.
Este comentário foi feito pelo moderador no site
Olá, é possível usar tamanhos (valores) diferentes para cada linha? Estou tentando usar vetor, mas não está funcionando.
Por exemplo :
Linhas(I).Resize(xCount(y) ).Inserir

Onde os valores salvos em xCount(y) são lidos de uma tabela.
Este comentário foi feito pelo moderador no site
Olá, Guss,
Pode ser que o artigo abaixo possa ajudá-lo, verifique-o:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
Este comentário foi feito pelo moderador no site
Para o segundo código VBA (código VBA: duplicar cada linha várias vezes), continuo recebendo como erro de tempo de execução: 1004
Não há comentários postados aqui ainda
carregar mais
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL