Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Excel, si el valor de la celda es positivo o negativo

Estas en el tema de Excel, si el valor de la celda es positivo o negativo en el foro de Visual Basic clásico en Foros del Web. Como pregunto en un IF, si el valor de la celda es positivo o negativo ? ejemplo: If appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35") = ???? Then Else End ...
  #1 (permalink)  
Antiguo 20/03/2007, 08:41
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Excel, si el valor de la celda es positivo o negativo

Como pregunto en un IF, si el valor de la celda es positivo o negativo ?

ejemplo:

If appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35") = ???? Then

Else

End If


Gracias..
  #2 (permalink)  
Antiguo 20/03/2007, 09:25
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Excel, si el valor de la celda es positivo o negativo

Lo primero que tendrias que hacer es convertirlo a numeros esto dependiendo con que tipo de datos estes trabajando (Integer,Long,Double,etc) para convertir un texto a numero puedes usar:
n = CInt("45") , n = CLng("45") , etc. (depende del tipo de dato)
y al resultado de esa conversion preguntarle
if n .... then
else
end if

Claro que tambien tienes que asegurarte que el contenido de tu celda sea un numero para que no te salga error al querer converit a numeros
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #3 (permalink)  
Antiguo 20/03/2007, 10:00
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Excel, si el valor de la celda es positivo o negativo

siempre es un numero con 2 decimales, ejemplo 1,23 o -2,34

yo lo que tengo que hacer es que si es positivo, pinto la celda de un color, y si es negativo de otro color...

If appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35") = ???? Then
pinto un color
Else
pinto otro color
End If


graciasss
  #4 (permalink)  
Antiguo 20/03/2007, 10:29
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Excel, si el valor de la celda es positivo o negativo

If CDbl(appexcel.Workbooks("te.xls").Sheets("sin_pro" ).Range("B35") ) >0 Then
appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35").Interior.ColorIndex = 6
appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35").Interior.Pattern = xlSolid
Else
appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35").Interior.ColorIndex = 8
appexcel.Workbooks("te.xls").Sheets("sin_pro").Ran ge("B35").Interior.Pattern = xlSolid

End If
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #5 (permalink)  
Antiguo 21/03/2007, 07:05
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Excel, si el valor de la celda es positivo o negativo

exelente...muchisimas gracias !!!
  #6 (permalink)  
Antiguo 21/03/2007, 08:47
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Excel, si el valor de la celda es positivo o negativo

Para eso estamos aqui
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #7 (permalink)  
Antiguo 21/03/2007, 09:37
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Excel, si el valor de la celda es positivo o negativo

vuelvo a molestarte , como me dijiste arriba primero tengo que asegurarme que la celda sea un numero, pero no se como hacerlo,
usando las funciones de conversion??? yo solo quiero preguntar, si es un string

algo asi?? porke son de conversion
If (CStr(appexcel.Workbooks("te.xls").Sheets("sin_pro ").Range("F9"))) Then

gracias
  #8 (permalink)  
Antiguo 21/03/2007, 10:04
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Excel, si el valor de la celda es positivo o negativo

If ( IsNumeric(appexcel.Workbooks("te.xls").Sheets("sin _pro ").Range("F9")) ) Then
MsgBox "Se puede convertir a número"
Else
MsgBox "No se puede convertir a número"
End IF

Pero ten cuidado con el uso de . y , decimal ya que esto puede cambiar de acuerdo a tu configuracion regional (ya que para muchos la ,[coma] es el separador de decimales y pata otros lo es el .[punto] )
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #9 (permalink)  
Antiguo 21/03/2007, 10:32
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Excel, si el valor de la celda es positivo o negativo

me tira este error

"El subíndice está fuera del intervalo (Error 9)"

en la linea

If ( IsNumeric(appexcel.Workbooks("te.xls").Sheets("sin _pro ").Range("F9")) ) Then

yo en esa celda tengo este texto '----- (comilla simple y 5 guiones)
  #10 (permalink)  
Antiguo 21/03/2007, 11:56
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Excel, si el valor de la celda es positivo o negativo

No estas controlando Alguno de tus bucles

If IsNumeric(Range("F9").Text) Then
MsgBox "Se puede convertir a número"
Else
MsgBox "No se puede convertir a número"
End IF

es la sintaxis correcta (antes no le habia ponido .Text)
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #11 (permalink)  
Antiguo 26/03/2007, 10:25
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Excel, si el valor de la celda es positivo o negativo

exelente, era eso me faltaba poner el .text

muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.