¿Cómo copiar filas y pegar en otra hoja según la fecha en Excel?
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:
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:
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:
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:
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:
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:
Las mejores herramientas de productividad para Office
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!