Macro al insertar fila Excel

¿Cómo puedo hacer que una macro se ejecute al momento de insertar una fila?

¿Existe algún evento de Insert Row o algo así en VBA Excel?

1 Respuesta

Respuesta
1

H o l a:

No existe un evento para verificar si se insertó una fila, lo que podemos hacer, es controlar con el evento Change si se insertó una sola fila, pon la siguiente macro en los eventos de tu hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    tc = Columns.Count
    c = Target.Columns.Count
    f = Target.Rows.Count
    nvafila = ActiveCell.Value
    If tc = c And f = 1 And nvafila = "" Then
        Call proceso
    End If
End Sub

Cambia en la macro la palabra "proceso" por el nombre de la macro que vas a ejecutar.


Existe un detalle, si eliminas una sola fila y si la siguiente fila a la eliminada está vacía, entonces también se ejecuta la macro.

El problema es que el evento se ejecuta después de que se insertó o se eliminó la fila, entonces no se puede saber qué es lo que se realizó.


Si llegara a insertar más de una fila ya no se ejecutaría la macro?

Gracias

Es correcto, si quieres insertar o eliminar más de una fila no se ejecuta la macro.

A propósito, veo que en la foto tienes un equipo de futbol americano, estoy consiguiendo hombreras y casco para mi hijo, podrías contactarme por correo si conoces de algún lugar para conseguir los accesorios a buen precio.

Mi correo [email protected]

G racias

Muchas gracias, ya logré correrlo.

Existe forma de modificar la macro de manera que no importe cuantas filas inserte el usuario?

Gracias y saludos.

Si quieres insertar varias filas:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    tc = Columns.Count
    c = Target.Columns.Count
    f = Target.Rows.Count
    nvafila = ActiveCell.Value
    If tc = c And nvafila = "" Then
        Call proceso
    End If
End Sub

s aludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas