KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

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

AutorXiaoyang Fecha de modificación

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:

una captura de pantalla de la selección del intervalo de fechas tras ejecutar el código

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:

una captura de pantalla de la selección de una celda de destino

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:

una captura de pantalla de los resultados


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:

una captura de pantalla de la selección del intervalo de fechas tras ejecutar el código 2

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:

una captura de pantalla de la selección de una celda de destino para colocar las filas si la fecha es posterior a hoy

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:

una captura de pantalla que muestra únicamente las filas cuyas fechas son posteriores a hoy


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose 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   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir 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   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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