FORMULA SI o Y

07/09/2005 - 20:03 por Raul EG | Informe spam
Buenas tardes a todos:

Mi cuestion es la siguiente, de una columna con datos, de un numero
especifico tengo que devolverle un mensaje en otra columna, las condiciones
serian, el numero es la condicion y si esta se cumple, el texto de la derecha
es el que se tendira que ver:

valor en celda a30 = 37 el mensaje seria "atencion"


40 no pedir
30 atencion


<25 preparar
<20 efectuar
<10 critico
<4 sin stock

No se si esto se pueda realizar mediante la funcion si o y y que tantas
condiciones acepte.

Espero se atendible y alguien, como siempre aca, me pueda asesorar.

Un saludo y gracias.

Preguntas similare

Leer las respuestas

#6 Raul EG
13/09/2005 - 17:18 | Informe spam
Oye y si yo no escribo los valores y en el rango de las celdas hay formulas y
cada que se actualizan los datos es cuando cambian los valores, ya que probe
tu script y si funciona solo que los cheque con las formulas y no funciona...

"KL" escribió:

Hola Raul EG,

Una pregunta:
?Podrias exponer el codigo que usas (incluidas tus modificaciones)?

Espero que hayas notado que el macro tiene preestablecidos unos valores
especificos ("UNION", "HORZ", "PROF", "INTEGRA", "ONP") en un rango
especifico (columna [A] o A:A) como condicion para cada uno de los colores.

Ademas, solo el macro aplicara los colores a las celdas que cambien despues
de introducir el codigo. Es decir, si en la hoja ya tenias los valores que
deberian ser coloreados no les afectara hasta que meta el cursor dentro de
cada celda y pulses Enter.

Saludos,
KL




Respuesta Responder a este mensaje
#7 KL
13/09/2005 - 18:16 | Informe spam
Hola Raul,

Si como dices los valores se devuelven mediante formulas, deberas usar otro
evento que es el Calculate. Sustituye el codigo anterior con el siguiente
(cambia el rango si es necesario):

Saludos,
KL
'inicio codigo
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
On Error Resume Next
For Each c In Range("A1:A16000") _
.SpecialCells(xlCellTypeFormulas)
With c.Font
Select Case UCase(c.Value)
Case "UNION"
.ColorIndex = 3 'rojo
Case "HORZ"
.ColorIndex = 41 'azul
Case "PROF"
.ColorIndex = 54 'violeta
Case "INTEGRA"
.ColorIndex = 7 'fucsia
Case "ONP"
.ColorIndex = 1 'negro
Case Else
.ColorIndex = 0 'automatico
End Select
End With
Next c
Application.ScreenUpdating = True
End Sub
'fin codigo
Respuesta Responder a este mensaje
#8 Raul EG
13/09/2005 - 23:41 | Informe spam
Como siempre tus comentarios son acertados, solo una ultima pregunta se como
el sript como esta te da el color en la letra y se que para que te de el
fondo es cambiar With Target.Font por With Target.Interior pero en donde se
tiene que cambiar en el sript.

Un saludo y gracias por tus atinadas respuestas.


"KL" escribió:

Hola Raul,

Si como dices los valores se devuelven mediante formulas, deberas usar otro
evento que es el Calculate. Sustituye el codigo anterior con el siguiente
(cambia el rango si es necesario):

Saludos,
KL
'inicio codigo
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
On Error Resume Next
For Each c In Range("A1:A16000") _
.SpecialCells(xlCellTypeFormulas)
With c.Font
Select Case UCase(c.Value)
Case "UNION"
.ColorIndex = 3 'rojo
Case "HORZ"
.ColorIndex = 41 'azul
Case "PROF"
.ColorIndex = 54 'violeta
Case "INTEGRA"
.ColorIndex = 7 'fucsia
Case "ONP"
.ColorIndex = 1 'negro
Case Else
.ColorIndex = 0 'automatico
End Select
End With
Next c
Application.ScreenUpdating = True
End Sub
'fin codigo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida