Como copiar linhas de várias planilhas com base em critérios para uma nova planilha?
Suponha que você tenha uma pasta de trabalho com três planilhas que têm a mesma formatação, conforme mostrado na captura de tela abaixo. Agora, você deseja copiar todas as linhas dessas planilhas onde a coluna C contém o texto “Concluído” para uma nova planilha. Como você poderia resolver esse problema de forma rápida e fácil sem copiar e colar manualmente uma por uma?
![]() | ![]() | ![]() |
Copiar linhas de várias planilhas com base em critérios para uma nova planilha com código VBA
Copiar linhas de várias planilhas com base em critérios para uma nova planilha com código VBA
O seguinte código VBA pode ajudá-lo a copiar linhas específicas de todas as planilhas da pasta de trabalho com base em determinada condição para uma nova planilha. Por favor, siga estas instruções:
1. Pressione e segure as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.
Código VBA: Copiar linhas de várias planilhas com base em critérios para uma nova planilha
Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
If xWs.Name <> xStr Then
Set xRg = xWs.Range("C:C")
Set xRg = Intersect(xRg, xWs.UsedRange)
For Each xRRg In xRg
If xRRg.Value = xRStr Then
xRRg.EntireRow.Copy
xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
xC = xC + 1
End If
Next xRRg
End If
Next xWs
Application.DisplayAlerts = True
End Sub
Observação: No código acima:
- O texto “Concluído” neste script xRStr = "Concluído" indica a condição específica com base na qual você deseja copiar as linhas;
- C:C neste script Set xRg = xWs.Range("C:C") indica a coluna específica onde a condição está localizada.
3. Em seguida, pressione a tecla F5 para executar este código, e todas as linhas com a condição específica serão copiadas e coladas em uma nova planilha chamada Kutools for Excel dentro da pasta de trabalho atual. Veja a captura de tela:
Mais artigos relacionados à extração ou cópia de dados:
- Copiar Dados Para Outra Planilha Com Filtro Avançado No Excel
- Normalmente, podemos aplicar rapidamente o recurso Filtro Avançado para extrair dados dos dados brutos na mesma planilha. No entanto, às vezes, ao tentar copiar o resultado filtrado para outra planilha, você receberá a seguinte mensagem de aviso. Nesse caso, como você lidaria com essa tarefa no Excel?
- Copiar Linhas Para Nova Planilha Com Base Em Critérios De Coluna No Excel
- Por exemplo, há uma tabela de compra de frutas, e agora você precisa copiar registros para uma nova planilha com base em frutas especificadas, como fazer isso facilmente no Excel? Aqui vou introduzir alguns métodos para copiar linhas para uma nova planilha com base em critérios de coluna no Excel.
- Copiar Linhas Se A Coluna Contiver Texto/Valor Específico No Excel
- Suponha que você queira encontrar células que contenham um texto ou valor específico em uma coluna e, em seguida, copiar toda a linha onde a célula encontrada está localizada, como você lidaria com isso? Aqui vou apresentar alguns métodos para verificar se a coluna contém um texto ou valor específico e, em seguida, copiar toda a linha no Excel.
As Melhores Ferramentas de Produtividade para o Office
Kutools para Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
- Barra de Fórmulas Super (edite facilmente várias linhas de texto e fórmulas); Layout de Leitura (leia e edite facilmente um grande número de células); Cole em Intervalo Filtrado...
- Mesclar Células/Linhas/Colunas mantendo os dados; Dividir conteúdo de células; Combinar Linhas Duplicadas e Somar/Média... Prevenir Células Duplicadas; Comparar Intervalos...
- Selecionar Linhas Duplicadas ou Únicas; Selecionar Linhas em Branco (todas as células estão vazias); Super Localizar e Localização Difusa em Muitas Pastas de Trabalho; Seleção Aleatória...
- Cópia Exata de Múltiplas Células sem alterar a referência da fórmula; Criar automaticamente referências para várias planilhas; Inserir Marcadores, Caixas de Seleção e mais...
- Favoritar e Inserir rapidamente Fórmulas, Intervalos, Gráficos e Imagens; Criptografar Células com senha; Criar Lista de Correspondência e enviar emails...
- Extrair Texto, Adicionar Texto, Remover por Posição, Remover Espaço; Criar e Imprimir Estatísticas da Página de Dados; Converter entre o Conteúdo das Células e Comentários...
- Super Filtro (salvar e aplicar esquemas de filtro em outras planilhas); Classificação Avançada por mês/semana/dia, frequência e mais; Filtro Especial por negrito, itálico...
- Consolidar Pastas de Trabalho e Planilhas; Mesclar Tabelas com base em colunas-chave; Dividir Dados em Múltiplas Planilhas; Conversão em Lote de xls, xlsx e PDF...
- Agrupamento de Tabela Dinâmica por número da semana, dia da semana e mais... Mostrar Células Desbloqueadas, Bloqueadas por cores diferentes; Destacar Células Que Contêm Fórmula/Nome...

- Habilite a edição e leitura com guias no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques de mouse para você todos os dias!
