Como copiar linhas e colá-las noutra folha com base numa data no Excel?
Suponhamos que tenho um intervalo de dados e quero copiar a linha inteira com base numa data específica, colando-a depois noutra folha. Terá alguma sugestão eficaz para realizar esta tarefa no Excel?
Copiar linhas e colá-las noutra folha com base na data de hoje
Copiar linhas e colá-las noutra folha se a data for posterior à de hoje
Copiar linhas e colá-las noutra folha com base na data de hoje
Se precisar de copiar as linhas cuja data seja a de hoje, aplique o seguinte código VBA:
1. Prima e mantenha premidas 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 e colar linhas com base na data de hoje:
Sub CopyRow()
'Updateby Extendoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
3. Após colar o código acima, prima a tecla F5 para executar este código. Aparecerá uma caixa de diálogo a solicitar que selecione a coluna de datas com base na qual pretende copiar as linhas (ver imagem):

4. Em seguida, clique no botão OK. Noutra caixa de diálogo, selecione uma célula noutra folha onde pretende apresentar o resultado (ver imagem):

5. Depois, clique no botão OK; as linhas cuja data seja a de hoje serão coladas imediatamente na nova folha (ver imagem):

Copiar linhas e colá-las noutra folha se a data for posterior à de hoje
Para copiar e colar as linhas cuja data seja igual ou posterior à de hoje — por exemplo, se a data for igual ou posterior a 5 dias após a data atual —, copie essas linhas para outra folha.
O seguinte código VBA poderá ajudá-lo:
1. Prima e mantenha premidas as teclas ALT + F11para abrir a janela 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 e colar linhas se a data for posterior à de hoje:
Sub CopyRow()
'Updateby Extentoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
Nota: No código acima, pode ajustar os critérios — como «anterior à data de hoje» ou o número de dias pretendido — na instrução If TypeName(xVal) = «Date» And (xVal "") And (xVal >= Date And (xVal < Date + 5)) Then.
3. Em seguida, prima a tecla F5; na caixa de diálogo, selecione a coluna de dados que pretende utilizar (ver imagem):

4. Em seguida, clique no botão OK; noutra caixa de diálogo, selecione uma célula noutra folha onde pretende apresentar o resultado (ver imagem):

5. Clique no botão OK; as linhas cuja data seja igual ou posterior a 5 dias após a data de hoje serão copiadas e coladas na nova folha, conforme ilustrado na imagem seguinte:

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