¿Cómo copiar filas y pegarlas en otra hoja según la fecha en Excel?
Supongamos que tengo un rango de datos y quiero copiar filas completas en función de una fecha específica para pegarlas en otra hoja. ¿Tiene alguna buena idea para realizar esta tarea en Excel?
Copiar filas y pegarlas en otra hoja según la fecha de hoy
Copiar filas y pegarlas en otra hoja si la fecha es posterior a hoy
Copiar filas y pegarlas en otra hoja según la fecha de hoy
Si necesita copiar las filas cuya fecha sea la de hoy, aplique el siguiente código VBA:
1. Mantén pulsadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del módulo.
Código VBA: Copiar y pegar filas según la fecha de hoy:
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. Tras pegar el código anterior, pulse la tecla F5 para ejecutarlo. A continuación, aparecerá un cuadro de diálogo que le recordará que seleccione la columna de fechas en función de la cual desea copiar las filas; consulte la captura de pantalla:

4. A continuación, haga clic en el botón Aceptar; en otro cuadro de diálogo, seleccione una celda en otra hoja donde desee mostrar el resultado. Consulte la captura de pantalla:

5. A continuación, haga clic en el botón Aceptar. Inmediatamente, las filas cuya fecha sea la de hoy se pegarán en la nueva hoja. Consulte la captura de pantalla:

Copiar filas y pegarlas en otra hoja si la fecha es posterior a hoy
Para copiar y pegar las filas cuya fecha sea igual o posterior a hoy —por ejemplo, si la fecha es igual o posterior a 5 días desde hoy—, cópielas y péguelas en otra hoja.
El siguiente código VBA puede ayudarle:
1. Mantenga pulsadas las teclas ALT + F11para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar>Móduloy pegue el siguiente código en la ventana del módulo.
Código VBA: Copiar y pegar filas si la fecha es posterior a hoy:
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: En el código anterior, puede ajustar los criterios —por ejemplo, «anterior a hoy» o el número de días que necesite— en la línea de código If TypeName(xVal) = «Date» And (xVal "") And (xVal >= Date And (xVal < Date + 5)) Then.
3. A continuación, pulse la tecla F5. En el cuadro de diálogo, seleccione la columna de datos que desee utilizar; consulte la captura de pantalla:

4. A continuación, haga clic en el botón Aceptar; en otro cuadro de diálogo, seleccione una celda en otra hoja donde quiera mostrar el resultado. Consulte la captura de pantalla:

5. Haga clic en el botón Aceptar; ahora, las filas cuya fecha sea igual o posterior a 5 días desde hoy se han copiado y pegado en la nueva hoja, tal como se muestra en la siguiente captura de pantalla:

Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos