Como copiar linhas e colar em outra planilha com base na data no Excel?
Suponha que eu tenha um intervalo de dados, agora quero copiar as linhas inteiras com base em uma data específica e depois colá-las em outra planilha. Você tem alguma boa ideia para lidar com essa tarefa no Excel?
Copiar linhas e colar em outra planilha com base na data de hoje
Copiar linhas e colar em outra planilha se a data for maior que hoje
Copiar linhas e colar em outra planilha com base na data de hoje
Se você precisar copiar as linhas caso a data seja de hoje, por favor, aplique o seguinte código VBA:
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 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, pressione a tecla F5 para executar este código, e uma caixa de aviso aparecerá para lembrá-lo de selecionar a coluna de datas na qual deseja copiar as linhas, veja a captura de tela:
4. Em seguida, clique no botão OK, em outra caixa de aviso, selecione uma célula em outra planilha onde deseja saída para o resultado, veja a captura de tela:
5. E então clique no botão OK, agora, as linhas cuja data é de hoje são coladas na nova planilha imediatamente, veja a captura de tela:
Copiar linhas e colar em outra planilha se a data for maior que hoje
Para copiar e colar as linhas cuja data é maior ou igual à de hoje, por exemplo, se a data for igual ou maior que 5 dias desde hoje, então copie e cole as linhas em outra planilha.
O seguinte código VBA pode ajudá-lo:
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 e colar linhas se a data for maior que 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
Observação: No código acima, você pode alterar os critérios, como menor que hoje ou o número de dias conforme necessário no script If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then.
3. Em seguida, pressione a tecla F5 para executar este código, na caixa de aviso, selecione a coluna de dados que deseja usar, veja a captura de tela:
4. Em seguida, clique no botão OK, em outra caixa de aviso, selecione uma célula em outra planilha onde deseja saída para o resultado, veja a captura de tela:
5. Clique no botão OK, agora, as linhas cuja data é igual ou maior que 5 dias desde hoje foram copiadas e coladas na nova planilha, conforme mostrado na captura de tela a seguir:
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!