Cuando agrego por arriba unas serie de celdas en distintas líneas, me las desplace hacia abajo

Pero necesitaría que si ingreso, 8 filas o las que sean, me desplace para abajo la 8 filas o las que haya agregado.
O sea, tantas como agregue en el rango : Range("B6:G19") me las desplace hacia abajo, hasta el rango Range("B20:G20") y que fuera esta línea la que ocupara la primera fila escrita.

1 Respuesta

Respuesta
1

H o l a:

Me puedes explicar con ejemplos.

Hola Dante

Esta es la macro que tengo:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:="1"
If Not Intersect(Target, Range("B6:B20")) Is Nothing Then
Application.EnableEvents = False
Range("B" & Target.Row & ":G" & Target.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Application.EnableEvents = True
End If
ActiveSheet.Protect Password:="1"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:="1"
If Not Intersect(Target, Range("B6:B20")) Is Nothing Then
Application.EnableEvents = False
Range("B" & Target.Row & ":G" & Target.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Application.EnableEvents = True
End If
ActiveSheet.Protect Password:="1"
End Sub

Pero me baja una linea. 

Si tengo que poner varios asientos del Banco, tengo que hacerlos uno a uno para que bajen y en la celda "G20" es la que necesito para contabilizar el saldo del Banco.

Un saludo Dante

Y cómo las estás agregando, ¿las copias de otro lado y luego las pegas en la hoja?

Vía internet con el banco :

04/09/2015 04/09/2015 TELEFONICA FIJO951287162.SEP -117,59 14.008

Solamente que la columna "C", como se repite la fecha la tengo con 0,08 de anchura.

Y aveces cojo 6 o más asientos del banco y era para pegarlos de una tacada y que la primera línea me quedara siempre en el rango "B20:G20"

Un saludo Dante

No te entiendo.

Cómo llegan a la hoja, los copias de otro lado y luego le des pegar o control v o algo así.

Explica con lujo de detalle paso a paso lo que haces, desde que prendes la computadora, abres tu archivo de excel, entras a internet, ¿y luego qué? Procura usar ejemplos reales en tu explicación y realiza paso a paso tu procedimiento.

Abro el libro Excel compruebo como va la venta del día de venta y compra y agrego los gastos diarios.

Sin cerrar el libro, entro en Internet y en la hoja del estadillo de la cuenta copio los movimientos que haya nuevos que no haya asentado.

Los selecciono y Control + C, los copio

y los pego en un documento de texto, Control + V, al pegarlos en el  documento de texto, ya no me salen las imágenes de los recibos ni las flechas del principio.

Les quito los espacios del principio y a las cantidades les quito del final, el espacio del final de la cantidad + EUR y se queda así:

y lo selecciono Control + C, copio y me voy al libro Excel.

Como en este caso son 3 asientos, selecciono 3 casillas por encima del “B20”, osea selecciono la celda “B17”

Control + V y lo pego

Y en este caso me baja una línea, cuando necesitaría que me bajase 3 líneas y se pusieran en la línea “B20”

Pero aveces son mas o menos asientos, por eso tengo libre desde "B6:G19"

No se explicarlo mejor

Un saludo Dante

Hola Dante

Perdona que no te lo sepa explicar mejor

¿ Damos el tema cerrado ?

Un salud

No lo cierres.

Envíame tu archivo para hacer pruebas y adaptar la macro.

Dime tu correo

He instalado el Windows 10

Y he perdido algunos datos

Un saludo

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “” y el título de esta pregunta.

Y por qué quieres copiarlas necesariamente entre las celdas B6:G19, ¿no es más fácil que las copias al final de los datos?

¿Y si quisieras copiar 50 líneas? De la fila 6 a la 19 solamente tienes espacio para 15 filas.

“Para qué hacer las cosas fáciles si te las puedes complicar”

                                                                              Por.DAM


No entiendo por qué te complicas el trabajo, si lo puedes hacer de una manera más simple. Copia las filas al final de tus datos y después ordena por fechas.

'

Como quieras. Te anexo la macro para que pegues la información, pero tendrás el límite de 15 filas, si pegas más de 15 filas, la información se encimará, ya que tu diseño no es el adecuado.

Private Sub Worksheet_Change(ByVal Target As Range)
    'Por.Dante Amor
    '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    '  AGREGAR FECHA EN UNA COLUMNA
    '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    If Target.Column = 11 Then
        If Cells(Target.Row, "I") = "" Then
            Cells(Target.Row, "I") = Date
        End If
    End If
    If Target.Column = 15 Then
        If Cells(Target.Row, "M") = "" Then
            Cells(Target.Row, "M") = Date
        End If
    End If
    'Por Marcial Castro'
    ActiveSheet.Unprotect Password:="1"
    If Not Intersect(Target, Range("B6:B20")) Is Nothing Then
        filas = Target.Rows.Count
        Application.EnableEvents = False
        Range("B" & Target.Row & ":G" & Target.Row + filas - 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Application.EnableEvents = True
        Range("B6:G19").Select          'DESBLOQUEAR CELDAS
        Selection.Locked = False
        Selection.FormulaHidden = False
        Application.EnableEvents = True
        Range("B20:G20").Select          'DESBLOQUEAR CELDAS
        Selection.Locked = True
        Selection.FormulaHidden = False
        Range("F6:F20").Select          'CONVERTIR EN NUMERO CELDAS CON DOS DECIMALES
        Selection.NumberFormat = "#,##0.00_ ;[Red]-#,##0.00 "
        Range("G6:G20").Select          'CONVERTIR EN NUMERO CELDAS CON SIN DECIMALES
        Selection.NumberFormat = "#,##0_ ;[Red]-#,##0 "
        Application.EnableEvents = True
    End If
    ActiveSheet.Protect Password:="1"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas