Insetar celdas en blanco a partir del valor de una celda y en un rango dado

Quiero insertar una celda cada vez que se repite el valor de una celda y en un rango dado, tengo lo siguiente pero me da el siguiente error: "Error de compilación: No se ha definido Sub o Fuction", marcándome "xlToDown.

No veo el problema, por favor me puedes ayudar, gracias de antemano.

Sub InsertarFila()

Dim Celda1 As Range
Dim NumDepart As String

NumDepart = "DEPARTMENT" & "*"      
       ActiveSheet.Range("E1", ActiveSheet.Range("E1048576").End(xlUp)).Select
       For Each Celda1 In Selection
          If Celda1.Value Like NumDepart Then
             Celda1.EntireRow.Select
             Selection.Insert Shift: xlToDown
          End If
        Next Celda1       
End Sub

2 respuestas

Respuesta
1

¿Me imagino que lo que buscas es algo así?, el problema de la instrucción que tenias es que se queda atorada en la celda e1 es decir de hay no se mueve y por eso te inserta un montón de filas, con la modificación que le hice a tu macro ahora el valor se mueve una celda hacia abajo y si cumple la condición inserta una celda fila en blanco.

Respuesta
1

Sin entrar en otros problemas (no soy experto en VBA), el error que te da es éste:

   Selection.Insert Shift: xlToDown

Lo correcto sería:    Selection.Insert Shift:=xlDown

Jo!!!! no lo había visto, gracias!!!!! Ahora el problema es que entra en bucle y no para de inserter filas, como hago para que solo inserte una.

Gracias de antemano!!!!!

Como he dicho antes, no soy experto en Visual Basic. Solo tengo nociones elementales, al menos para detectar ese error de compilación. :-)

Intuyo que se meterá en bucle probablemente porque no haya un rango definido donde se ejecute el bucle y lo hace en toda la hoja. Pero no me tomes en serio, no soy experto en VBA.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas