Como dar valor a una celda dependiendo del valor de otra

11/06/2006 - 01:26 por ocb | Informe spam
¡¡¡ Hola a to@s !!!

Necesito usar la función =SI(prueba_lógica;si_verdadero;si_falso),
pero que en lugar de que me pegue el resultado en la celda en la que
está definida lo pegue en otra celda, por ejemplo si se cumple una
condición que tengo en A1, me asigne un valor en A2.

¡¡¡ Muchas gracias de antemano !!!

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
11/06/2006 - 02:07 | Informe spam
hola, oscar !

Necesito usar la funcion =SI(prueba_logica;si_verdadero;si_falso)
pero que en lugar de que me pegue el resultado en la celda en la que esta definida lo pegue en otra celda
por ejemplo si se cumple una condicion que tengo en A1, me asigne un valor en A2.



1) los resultados obtenidos al aplicar formulas y funciones...
-> se quedan EN la/s celda/s donde se aplican las formulas y funciones

2) una formua/funcion contenida en una celda...NO puede modificar [por 'si sola']...
-> ni el contenido ni el formato [ni nada] en 'otra/s celda/s' [ajenas a la que contiene la formula/funcion]

3) la alternativa a lo que buscas resolver, es utilizar codigo en los eventos de hojas y libros
[p.e. el evento '_change' de un modulo de codigo de hojas]

4) toma en consideracion que si 'piensas' cambiar de parecer en cuanto a si debiera modificarse una celda u otra...
podrias terminar sobre-escribiendo otras celdas [que pudieran resultar 'vitales' para tu modelo y...] -?-
[es la principal 'razon' del 'por que no' comentado en el punto 2] ;)

5) incluso, si te decides por usar codigo en los eventos, es necesario que planees +/- exactamente...
cual/es debiera/n ser la/s accion/es si se cumple [o no] cada una de tus -determinadas- 'condiciones' [p.e.]
- si se cumple... que celdas se habran de ver 'afectadas'
- si NO se cumple... se deberia de borrar/cambiar/... lo que pudieran contener si la condicion se cumpliera ???
- etc. etc. etc.

como ves, la pregunta se ve 'simple' [a simple vista] :D
las implicaciones que 'en adelante' pudieran tener... [por el momento] se te han quedado en el tintero :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 ocb
11/06/2006 - 12:17 | Informe spam
Hola Héctor Miguel, muchas gracias por tu clara respuesta.

La verdad es que no pensé que fuera una cosa tan complicada, pero es
verdad lo que dices de las consecuencias.
Si lo hago por código me valdría con esto:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$5" Then Exit Sub

If Target.Value = "NO" Then Range("B26").Value = "Mañana"
If Target.Value = "SI" Then Range("B26").Value = "Tarde"

End Sub

Hay algun sitio donde pueda ver como se usa y para que sirve cada
metodo y evento?? es q el examinador d objetos no me explica para que
sirven y tengo q andar probandolos... por ejemplo, me gustaria saber
cual es la forma de bloquear/desbloquear una celda, si hay otra forma
de Address pero sin los "$" tipo "B5" y no "$B$5" y de que me funcione
el .Interior.ColorIndex con la hoja protegida. Vamos q estoy con mil
dudas xq soy novatillo en esto.

Muchas Gracias de nuevo !!!
Respuesta Responder a este mensaje
#3 Héctor Miguel
11/06/2006 - 22:25 | Informe spam
hola, oscar !

1) ya que 'te confiesas' como 'novatillo en esto' [que sin temor a equivocarme es como iniciamos todos] :D
antes de 'ver como complicadas' estas cuestiones... habria que 'darle tiempo al tiempo' [y practicar 'lo suficiente'] :))

2) para conocer el uso y la aplicacion que tienen los eventos [entre varias 'sugerencias' posibles mas]...
a) consulta en la ayuda de vba... 'preguntando' p.e. por: -> eventos de objeto [incluso encontraras los ejemplos] ;)
b) consulta la siguiente pagina: [Event Procedures In Microsoft Excel97] http://www.cpearson.com/excel/events.htm

3) si necesitas que a tus macros NO 'les estorbe' que las hojas esten protegidas...
revisa las siguientes conversaciones: -> http://tinyurl.com/hdz3b

4) para conocer 'otras' formas de usar la propiedad '.Address' [o comparar objetos 'Range']...
puedes consultar tambien la ayuda de excel-vba al respecto de la propiedad '.Address'
[tienes la posibilidad de usar otros argumentos en ella como fila y/o columna 'absolutas' o estilo de notacion A1 <-> R1C1]
o puedes 'combinar' con el metodo Intersect(Rango1, Rango2 [, Rango_n]) que devuelve un objeto de tipo 'Range' [si es posible]
p.e. If Not Intersect(Target, Range("b5")) Is Nothing Then
o... If Not Intersect(Target, [b5]) Is Nothing Then
-> estas [y otras] son 'equivalentes' a la primera instruccion del codigo que expones ;)

5) [creo que, p.e.] para 'el caso' del codigo que expones, pudiera ser 'suficiente' si...
a) usas una validacion por lista [SI/NO] en la celda 'B5'
b) utilizas la funcion si-condicional en la celda 'B26'
c) combinas el uso de los formatos condicionales [en lugar de un '.Interior.ColorIndex = ...?' por codigo] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ consulta original __
... no pense que fuera una cosa tan complicada, pero es verdad lo que dices de las consecuencias... por codigo me valdria...:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$5" Then Exit Sub
If Target.Value = "NO" Then Range("B26").Value = "Mañana"
If Target.Value = "SI" Then Range("B26").Value = "Tarde"
End Sub
... algun sitio donde pueda ver como se usa y para que sirve cada metodo y evento?
... el examinador d objetos no me explica para que sirven y tengo q andar probandolos
... me gustaria saber cual es la forma de bloquear/desbloquear una celda
... otra forma de Address pero sin los "$" tipo "B5" y no "$B$5"
... que me funcione el .Interior.ColorIndex con la hoja protegida.
... estoy con mil dudas xq soy novatillo en esto.
Respuesta Responder a este mensaje
#4 ocb
12/06/2006 - 16:46 | Informe spam
Muchas gracias por tus indicaciones Héctor, me han sido de gran ayuda.
Aun tengo problemas (respecto al punto 5º):
- ya usaba una validacion por lista [SI/NO] en la celda 'B5', el
problema es q en la celda 'B26' tengo otra validacion por lista
[mañana/tarde] y creo q no se puede usar conjuntamente con una funcion
si-condicional en la celda 'B26', no???
- con el uso de los formatos condicionales como puedo hacer para q no
me tome el valor cero "0" igual q el d casilla vacia??? es q tengo otra
validacion por lista (0,1,2,3) y quiero q me lo pinte d amarillo si no
se ha hecho una d esas elecciones...
Muchas gracias de nuevo... espero dejar ya de molestar.
Respuesta Responder a este mensaje
#5 ocb
12/06/2006 - 20:38 | Informe spam
He solucionado mi probelma del cero con la funcion "=esblanco()"
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida