Copiar cortar e insertar automáticamente Excel

Quisiera saber si a partir de una hoja de datos que se llama pendientes en el momento que inserto una fecha en una celda determinada esa fila si se puede cortar de esa hoja e insertar en la siguiente hoja llamada en proceso. De igual manera cuando en esa hoja se coloque la fecha de finalización, que esa fila se corte y se inserte en la siguiente hoja llamada finalizado.

A ver si me podéis dar ideas.

1 Respuesta

Respuesta
1

H o l a:

Te anexo las macros.

Lo siguiente es para pasar los registros de pendientes a proceso:

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja pendientes)
  4. Del lado derecho copia la macro
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Por.Dante Amor
        col = "F"
        Set h2 = Sheets("proceso")
        '
        If Target.Count > 1 Then Exit Sub
        If Target.Row < 2 Then Exit Sub
        If Not Intersect(Target, Columns(col)) Is Nothing Then
            If Not IsDate(Target) Then
                MsgBox "En esta columna tienes que poner una fecha"
                Exit Sub
            End If
            '
            u = h2.Range(col & Rows.Count).End(xlUp).Row + 1
            Application.EnableEvents = False
            Rows(Target.Row).Copy h2.Rows(u)
            Rows(Target.Row).Delete
            Application.EnableEvents = True
            MsgBox "Registro enviado a Proceso"
        End If
    End Sub

Cambia en la macro la letra "F" por la columna en donde vas a poner tu fecha.

Cambia "proceso" por el nombre de tu hoja.


Lo siguiente es para pasar los registros de proceso a finalizado:

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja proceso)
  4. Del lado derecho copia la macro
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    col = "G"
    Set h2 = Sheets("finalizado")
    '
    If Target.Count > 1 Then Exit Sub
    If Target.Row < 2 Then Exit Sub
    If Not Intersect(Target, Columns(col)) Is Nothing Then
        If Not IsDate(Target) Then
            MsgBox "En esta columna tienes que poner una fecha"
            Exit Sub
        End If
        '
        u = h2.Range(col & Rows.Count).End(xlUp).Row + 1
        Application.EnableEvents = False
        Rows(Target.Row).Copy h2.Rows(u)
        Rows(Target.Row).Delete
        Application.EnableEvents = True
        MsgBox "Registro enviado a Finalizado"
    End If
End Sub

Cambia en la macro la letra "G" por la columna en donde vas a poner tu fecha.

Cambia "finalizado" por el nombre de tu hoja.


Hola Sr. Amor

He estado utilizando la MAcro y funciona correctamente,

Mi pregunta ahora es. ¿Se puede realizar un filtro de los datos?. Ahora mismo la Macro no permite hacer ninguna consulta filtrando.

O bien debería hacer la consulta con un informe de Tabla diámica.

Muchas gracias

H o l a:

Con mucho gusto te ayudo con todas tus peticiones.

Crea una nueva pregunta en el tema de microsoft excel, en el desarrollo de la pregunta escribe: "para Dante Amor"

En la nueva pregunta me detalles con ejemplos lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas