Como mover uma linha inteira para outra folha com base no valor de uma célula no Excel?
Para mover uma linha inteira para outra folha com base no valor de uma célula, este artigo ajudá-lo-á.
Mover Linha inteira para outra folha com base no valor da célula com código VBA
Mover Linha inteira para outra folha com base no valor da célula com Kutools para Excel
Mover Linha inteira para outra folha com base no valor da célula com código VBA
Conforme ilustrado na imagem abaixo, mova toda a linha da Folha1 para a Folha2 sempre que a palavra «Done» aparecer na coluna C. Pode experimentar o seguinte código VBA.

1. Prima simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela do Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Depois, copie e cole o código VBA abaixo na janela.
VBA code 1: Move entire row to another sheet based on cell value
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub Nota: No código, Folha1 é a folha de cálculo que contém a linha que pretende mover. Já Folha2 é a folha de destino para onde a linha será movida. «C:C» representa a coluna que contém o valor específico, e «Done» é o valor com base no qual a linha será movida. Ajuste-os conforme as suas necessidades.
3. Prima a tecla F5 para executar o código; em seguida, a linha que cumprir os critérios na Folha1 será imediatamente movida para a Folha2.

Nota: O código VBA acima irá excluir linhas dos dados originais após as mover para uma folha de cálculo especificada. Se pretender apenas copiar linhas com base no valor da célula, em vez de as eliminar, aplique o código VBA abaixo.
VBA code 2: Copy entire row to another sheet based on cell value
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub Mover Linha inteira para outra folha com base no valor da célula com Kutools para Excel
Se é novo em código VBA, apresentamos-lhe a utilidade Selecionar células específicas do Kutools para Excel. Com esta funcionalidade, pode selecionar facilmente todas as linhas com base num determinado valor de célula ou em valores distintos numa folha de cálculo e, de seguida, copiar as linhas selecionadas para a folha de destino pretendida. Siga estes passos:
1. Selecione as colunas que contêm o valor da célula com base no qual moverá as linhas e, depois, clique em Kutools > Selecionar > Selecionar células específicas. Veja a imagem:

2. Na caixa de diálogo Selecionar células específicas que se abre, escolha Linha inteira na secção Selecionar tipo, selecione Igual no campo Especificar tipo da lista suspensa, introduza o valor da célula na caixa de texto e, em seguida, clique no botão OK.
Abre-se outra caixa de diálogo Selecionar células específicas, que lhe mostra o número de linhas selecionadas — entretanto, todas as linhas que contêm o valor especificado na coluna selecionada já foram selecionadas. Veja a imagem:

3. Prima as teclas Ctrl+C para copiar as linhas selecionadas e, depois, cole-as na folha de destino pretendida.

Nota: Se pretender mover linhas para outra folha com base em dois valores diferentes de células — por exemplo, mover linhas com base nos valores «Done» ou «Processing» —, pode ativar a condição Ouna caixa de diálogo Selecionar células específicascomo mostra a imagem seguinte:

Se pretender experimentar gratuitamente esta utilidade durante 30 dias, clique para a transferir e, em seguida, siga os passos indicados acima.
Artigos relacionados:
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos