¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Añadir automaticame...
 
Compartir:
Avisos
Vaciar todo

Añadir automaticamente filas y formula en una tabla

PAOLO59
(@paolo59)
Miembro activo Registered

Hola buenas noches. Mi pregunta consiste: que debo de hacer para que cuando se añadan filas automáticamente en esta tabla,  la columna Saldo (G12, G13.. se añada también automáticamente la fórmula que contiene  =G11+[@INGRESO]-[@GASTO], hasta la fila 100000000000.

Pues cuando lo intento, las filas se añaden automaticamente pero la formula no y la cambia.

Gracias de antemano

Un saludo

Citar
Topic starter Respondido : 14/04/2021 11:35 pm
Etiquetas del debate
RET
 RET
(@ret)
Miembro Admin

@paolo59,

 

Como añades la fila?

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 15/04/2021 7:24 am
PAOLO59
(@paolo59)
Miembro activo Registered

@ret

pulsando ctrl+t las filas se anaden automaticamente perola formula no.

Tambien grabando la macro añadir fila.

ResponderCitar
Topic starter Respondido : 15/04/2021 12:34 pm
RET
 RET
(@ret)
Miembro Admin

Perdona @paolo59, pero ctrl+t no agrega ninguna fila, insertar una tabla.

Has enviado el fichero correcto? No hay ninguna macro grabada.

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 15/04/2021 3:20 pm
PAOLO59
(@paolo59)
Miembro activo Registered

@ret

te vuelvo a enviar el archivo  prueba con la macro

Disculpa. 

ResponderCitar
Topic starter Respondido : 15/04/2021 6:30 pm
RET
 RET
(@ret)
Miembro Admin

@paolo59,

 

Al insertar una fila, lo que haces es eso: insertar una fila. En dicha fila, no te va a copiar ninguna fórmula y, además, ten en cuenta que la fila desplazada, también tiene mal la formula porque la no te suma el acumulado de la previa (la insertada), sino el acumulado de la que ya tenía como referencia. En este caso, si insertas la fila 13, la 14 suma el acumulado de la 12 mas los datos de la 14.

Prueba a, después de insertar, copiar la fórmula en la celda G de la fila insertada. Puedes poner el grabador de macros y, situandote en una celda que tenga la formula correcta, dar F2 para editar la celda y Enter. Eso te grabará la fórmula que debes crear.

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 15/04/2021 8:16 pm
PAOLO59
(@paolo59)
Miembro activo Registered

he probado lo que me has dicho y ... no me va

ResponderCitar
Topic starter Respondido : 15/04/2021 11:23 pm
PAOLO59
(@paolo59)
Miembro activo Registered

que otra cosa puedo probar?

ResponderCitar
Topic starter Respondido : 15/04/2021 11:24 pm
PAOLO59
(@paolo59)
Miembro activo Registered

Hola de nuevo- He vuelto a probar y al final lo he conseguido. La tabla 1 (Trabajar a diario) se va desplegando automáticamente cuando llega al final de la fila (saldo G13) y mantiene la formula del saldo.

Ahora me surge otro problema. Cuando protejo dicha hoja las filas ya NO se despliegan.

He intentado hacer un código VBA para desproteger la hoja pero no me funciona (lo adjunto).

Donde está el fallo? es eso lo que debo de hacer? ya no se por donde empezar.

si me puedes ayudar te doy las gracias de antemano

 

ResponderCitar
Topic starter Respondido : 16/04/2021 12:54 am
RET
 RET
(@ret)
Miembro Admin

@paolo59,

 

La verdad, es complicado entender el problema. Por favor, intenta explicarte un poco mejor. Supongo que te refieres a que cuando llegas a la celda G13, si das al tabulador, te inserta automáticamente una fila nueva en la tabla A10:G13. Y supongo que el código al que te refieres que has intentado para desproteger la hoja es el que está en la Hoja6.

Si es así, ese código no se te va a ejecutar nunca. Lo has copiado de un formulario, donde se ejecuta en respuesta al evento doble click sobre el control LISTA.

Tienes que pensar cuando quieres que se ejecute para insertar una nueva fila en tu tabla e identificar el evento que se produce en ese momento. Pon tu código para desproteger en esa Sub.

Tampoco tengo claro porque quieres permitir insertar filas, pero proteges la hoja. Dale alguna vuelta a que tienes que proteger (toda la hoja o solo algunas celdas?) y cuando debe estar protegida y cuando no.

 

IMF_RET

https://InformaticaMuyFacil.com

 

ResponderCitar
Respondido : 16/04/2021 7:46 am
PAOLO59
(@paolo59)
Miembro activo Registered

@ret

Efectivamente el codigo a que te refieres Lista lo he copiado de un formulario, creyendo que podia desproteger la hoja.

A ver si me explico mejor. Lo que quiero es que cuando llegue a la celda G13 y pulse el tabulador, se añada entonces una nueva fila y la columna G 14 siga manteniendo la formula... y asi sucesivamente cada vez que llegue al final de la columna G.

Las columnas que quiero protege para que no se alteren las fórmulas por algún error al teclear, son las columnas B de MES y la columna G de SALDO.

Y lo que no entiendo es cuando comentas: cuando deben estar protegidas y cuando no. Para mi lo mas facil ha sido proteger la hoja y dejar las otras columnas libres de protección para poder escribir en ellas, pero claro, si hago eso  entonces las filas en esa tabla no se despliegan cuando pulso el tabulador al final de la columna saldo y mantenga la formula.

No se otra forma de hacerlo.

Gracias por tener tanta paciencia

 

 

 

 

ResponderCitar
Topic starter Respondido : 16/04/2021 1:06 pm
RET
 RET
(@ret)
Miembro Admin

@paolo59,

Si te entiendo bien, quieres desproteger la hoja cuando estás en la celda Gx, para poder insertar una fila nueva en caso de que pulses tabulador. Pero si proteges la hoja al haber insertado la fila, tampoco vas a poder introducir ningún dato nuevo en las otras celdas, con lo que no puedes hacer nada.

Por que no usas el evento Change de la hoja y si lo que ha cambiado es la celda Bx (Mes) o Gx (Saldo) simplemente deshaces el cambio con un Undo?

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 16/04/2021 9:14 pm
PAOLO59
(@paolo59)
Miembro activo Registered

@ret

No entiendo lo que me dices. Mi nivel de excel es de usuario normal y poco más (probando a hacer cosillas, utilizando las ayudas en línea y poco más. es decir autodidacta.) hasta hace poco tiempo que  he descubierto los foros. 

Así que, si me puedes enviar lo que debo de cambiar para que eso funcione.... te lo agradecería mucho.

No le hago perder mas tiempo.

Un saludo 

ResponderCitar
Topic starter Respondido : 17/04/2021 11:20 am
RET
 RET
(@ret)
Miembro Admin

@paolo59,

Pon este código en el módulo de la Hoja6

 

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Manejador
    
    If Target.Count > 1 Then Exit Sub

    Application.EnableEvents = False

'Comprobar que no se ha modificado la formula de la columna B
    If Not Application.Intersect(Target, Hoja6.Columns("B:B")) Is Nothing Then
        MsgBox "No se puede cambiar la fórmula de la columna B!!!", vbExclamation + vbOKOnly, "Error"
        Application.Undo
    End If
'Comprobar que no se ha modificado la formula de la columna G
    If Not Application.Intersect(Target, Hoja6.Columns("G:G")) Is Nothing Then
        MsgBox "No se puede cambiar la fórmula de la columna G!!!", vbExclamation + vbOKOnly, "Error"
        Application.Undo
    End If

Manejador:
    Application.EnableEvents = True
End Sub

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 17/04/2021 12:00 pm
PAOLO59
(@paolo59)
Miembro activo Registered

@ret

Perfectooooooo.  Gracias. Sin su ayuda ya hubiese abandonado., y gracias a ella continuo con la ilusión de ir a prendiendo ( a mis 64 años ) un poquito más

Un  saludo

ResponderCitar
Topic starter Respondido : 17/04/2021 1:42 pm

Dejar una respuesta

Nombre del autor

Correo electrónico del autor

Título *

 
Vista previa 0 revisiones Guardado