Skip to main content

¿Cómo copiar filas y pegar en otra hoja según la fecha en Excel? 

Author: Xiaoyang Last Modified: 2025-06-04

Supongamos que tengo un rango de datos, ahora quiero copiar las filas completas basándome en una fecha específica y luego pegarlas en otra hoja. ¿Tienes alguna buena idea para manejar esta tarea en Excel?

Copiar filas y pegar en otra hoja basándose en la fecha de hoy

Copiar filas y pegar en otra hoja si la fecha es mayor que hoy


Copiar filas y pegar en otra hoja basándose en la fecha de hoy

Si necesitas copiar las filas si la fecha es hoy, por favor aplica el siguiente código VBA:

1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic for Applications.

2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.

Código VBA: Copiar y pegar filas basándose en 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. Después de pegar el código anterior, por favor presiona la tecla F5 para ejecutar este código, y aparecerá un cuadro de diálogo para recordarte que selecciones la columna de fechas en la que deseas copiar las filas, ver captura de pantalla:

a screenshot of selecting the date range after running the code

4. Luego haz clic en el botón Aceptar, en otro cuadro de diálogo, selecciona una celda en otra hoja donde deseas obtener el resultado, ver captura de pantalla:

a screenshot of selecting a destination cell

5. Y luego haz clic en el botón Aceptar, ahora, las filas cuya fecha es hoy se han pegado en la nueva hoja de inmediato, ver captura de pantalla:

a screenshot of the results


Copiar filas y pegar en otra hoja si la fecha es mayor que hoy

Para copiar y pegar las filas cuya fecha sea mayor o igual a hoy, por ejemplo, si la fecha es igual o mayor a 5 días desde hoy, entonces copia y pega las filas en otra hoja.

El siguiente código VBA puede ayudarte:

1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic for Applications.

2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.

Código VBA: Copiar y pegar filas si la fecha es mayor que 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, puedes cambiar los criterios, como menor que hoy o el número de días que necesites en el script If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then.

3. Luego presiona la tecla F5 para ejecutar este código, en el cuadro de diálogo, selecciona la columna de datos que deseas usar, ver captura de pantalla:

a screenshot of selecting the date range after running the code 2

4. Luego haz clic en el botón Aceptar, en otro cuadro de diálogo, selecciona una celda en otra hoja donde deseas obtener el resultado, ver captura de pantalla:

a screenshot of selecting a destination cell to place the rows if date is greater than today

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

a screenshot showing the rows only when dates are greater than today


Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!