Excel - Cut-past en celda dependientede una formula

   
Vista:

Cut-past en celda dependientede una formula

Publicado por Ricardo (5 intervenciones) el 12/01/2011 12:56:00
Tengo una formula protegida que es dependiente de una celda no protegida y cuando se hace un CUT -paste en la celda dependiente la formula se queda en error. Como puedo hacer para que la formula no varie
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cut-past en celda dependientede una formula

Publicado por Enrique54 (90 intervenciones) el 13/01/2011 19:18:46
No estas usando las posiciones fijas en las formulas (las que van con $) que son las que impiden que cambien las referencias de los datos
o ve tu a saber
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Ricardo (5 intervenciones) el 14/01/2011 09:47:41
Gracias por contestar Enrique ,pero eso no funciona. Voy a poner un ejemplo a ver si se entiende mejor mi problema.

Celda A1 esta en Blanco y desprotegida.
Celda A2 tiene la formula "+$A$1" y esta protegida.

Si se hace un Cut de la celda B1 y se pega en la celda A1 ,la formula de la celda A2 se queda en error ,"=+#REF!" y la pregunta es ¿como puedo evitar que cambie la formula " $A$1 "de la celda A2?.

¿Hay alguna función o algo parecido que haga que permanezca la formula de la celda A2, invariable?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Raziel (243 intervenciones) el 14/01/2011 21:49:33
No se me ocurre por qu ese genera el error, pero suponiendo que quieres hacer referencia a A1, entonces seria asi...

=INDIRECTO(DIRECCION(1,1))

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Ricardo (5 intervenciones) el 19/01/2011 18:50:04
Gracias por tus comentarios Raziel ,es una buena idea utilizar esa formula ,pero necesito que haga referencia a la celda A1 ,porque habia puesto un ejemplo ,pero realmente la formula que tengo en la celda B1 es =IF(A1="";"Rellenar Campo";Vlookup(A1;$F$6:$H$10;3;false)) y como con la formula indirecto ,lo que hace es hacer un puente en otra celda ,esa celda va a estar siempre rellena.

¿Sabrias otra forma de hacerlo?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Cut-past en celda dependientede una formula

Publicado por JuanC (1052 intervenciones) el 19/01/2011 20:30:43
la verdad que es un problema curioso!
una forma de solucionarlo es volviendo a escribir la fórmula en A2
mediante una macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Hoja1.Unprotect
Range("A2").FormulaLocal = "=A1"
Hoja1.Protect
End If
End Sub

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Ricardo (5 intervenciones) el 20/01/2011 10:19:04
Gracias JuanC ,tambien una solucion muy buena ,pero el problema es que esta hoja es para que la utilice mas gente y la hoja esta protegida con contraseña para que no puedan modificar ni las formulas ,ni la estructura, y cuando se realiza esta macro se esta desprotegiendo la hoja y te pediria la contraseña que el usuario no sabe.

Sigo dandole vueltas para ver si se puede encontrar una funcion o una forma para que no se pueda modificar una formula de una celda aunque se haga un cut/paste de otra celda en esa.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Cut-past en celda dependientede una formula

Publicado por JuanC (1052 intervenciones) el 20/01/2011 11:26:04
la contraseña puede ponerse en el código de la macro
y si prestás atención, verás que la macro desproteje, hace
los cambios y vuelve a proteger
sólo falta agregar la contraseña, que en caso extremo puede
usarce un encriptador para que aún viendo el código no pueda
leerse

Hoja1.Unprotect "pass1234"
'hacer algo
Hoja1.Protect "pass1234"

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Ricardo (5 intervenciones) el 20/01/2011 17:05:28
Hola Juan ,he estado dandole vueltas al asunto y no lo consigo. Con la macro que me has facilitado ,copiandola al pie de la letra

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Hoja1.Unprotect
Range("A2").FormulaLocal = "=A1"
Hoja1.Protect
End If
End Sub

,si hago un cut de cualquier celda y hago un paste en la celda A1 ,se sigue quedando en error la celda A2.

No se que estoy haciendo mal. Me podrias ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Cut-past en celda dependientede una formula

Publicado por JuanC (1052 intervenciones) el 20/01/2011 18:51:09
el código está bien
primero habría que ver si las macros están habilitadas
y segundo el lugar donde pusiste el código...
(no debe ir en un módulo sino en una hoja)
te dejo un archivo para que lo veas...

http://www.sendspace.com/file/pi3t98

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cut-past en celda dependientede una formula

Publicado por Raziel (243 intervenciones) el 20/01/2011 19:57:10
Talvez con esta formula puedas...
=SI(INDIRECTO(DIRECCION(1,1,4))="","Rellenar Campo",BUSCARV(INDIRECTO(DIRECCION(1,1,4)),$F$6:$H$10,3,FALSO))

Si no queda asi, tendremos que utilizar Macros.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar