2 condicionales

13/12/2009 - 22:23 por Compumakro | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_000A_01CA7C10.8A6D4BA0

Amigos de Excel2007
Hoy les molesto, porque estoy haciendo una tabla para calcular costos, según los ingredientes en repostería

Quiero que la tabla sea "automática" según el sistema de medida... libra o Litro

Hice una fórmula pero no me funciona con "Or"... solo funciona con un condicional. es decir ... si le quito Or "Litro"... funciona

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila

End Sub

Saludos

Oscar
=_NextPart_000_000A_01CA7C10.8A6D4BA0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18865"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT size=2 face=Arial>Amigos de Excel2007</FONT></DIV>
<DIV><FONT size=2 face=Arial>Hoy les molesto, porque estoy haciendo una tabla
para calcular costos, según los ingredientes en repostería</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Quiero que la tabla sea "automática" según el
sistema de medida... libra o Litro</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Hice una fórmula pero no me funciona con "Or"...
solo funciona con un condicional. es decir ... si le quito Or "Litro"...
funciona</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Private Sub Worksheet_SelectionChange(ByVal Target
As Range)<BR>Dim Fila As Integer<BR>&nbsp; For Fila = 14 To 30<BR>If Cells(Fila,
4) = "Libra" Or "Litro" Then<BR>Cells(Fila, 5) = Cells(Fila, 6) * 2<BR>Else:
Cells(Fila, 5) = Cells(Fila, 6) * 1<BR>End If<BR>If Cells(Fila, 4) = "Libra" Or
"Litro" Then<BR>Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000<BR>Else:
Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000<BR>End If<BR>Next
Fila</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>End Sub<BR></FONT></DIV>
<DIV><FONT size=2 face=Arial>Saludos</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Oscar</DIV></FONT></BODY></HTML>

=_NextPart_000_000A_01CA7C10.8A6D4BA0--

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/12/2009 - 01:41 | Informe spam
hola, Oscar !

... estoy haciendo una tabla para calcular costos, segun los ingredientes en reposteria
Quiero que la tabla sea "automatica" segun el sistema de medida... libra o Litro
Hice una formula pero no me funciona con "Or"... solo funciona con un condicional... es decir... si le quito Or "Litro"... funciona



la linea que falla es porque NO debes "asumir" que la comparacion sigue siendo con la misma "base" (es decir)... cambia:

de: -> If Cells(Fila, 4) = "Libra" Or "Litro" Then

a: -> If Cells(Fila, 4) = "Libra" Or Cells(Fila, 4) = "Litro" Then

saludos,
hector.

__ el codigo expuesto __
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila
End Sub
Respuesta Responder a este mensaje
#2 Compumakro
14/12/2009 - 02:51 | Informe spam
Hector, muchas gracias...!!
Discúlpame por la tontería era obvio. hace rato no transito Excel...
y la memoria se distrae... Hasta me equivoqué en el planteamiento pero
ya lo corregí.

Ahí tengo ahora uno que sí no sé cómo ponerlo a funcionar el del nombre
propio... porque si ponen "litro" o "libra" con minúscula no va a
funcionar entonces puse el de nombre propio, pero no me funciona..
Así quedó planteado en la penúltima fila:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
If Cells(Fila, 4) = "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila
Cells(Fila, 4) = Application.Proper(Cells(Fila, 4))

End Sub


Saludos

Oscar



"Héctor Miguel" escribió en el mensaje de
noticias:ey$
hola, Oscar !

... estoy haciendo una tabla para calcular costos, segun los ingredientes
en reposteria
Quiero que la tabla sea "automatica" segun el sistema de medida... libra
o Litro
Hice una formula pero no me funciona con "Or"... solo funciona con un
condicional... es decir... si le quito Or "Litro"... funciona



la linea que falla es porque NO debes "asumir" que la comparacion sigue
siendo con la misma "base" (es decir)... cambia:

de: -> If Cells(Fila, 4) = "Libra" Or "Litro" Then

a: -> If Cells(Fila, 4) = "Libra" Or Cells(Fila, 4) = "Litro" Then

saludos,
hector.

__ el codigo expuesto __
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila
End Sub

Respuesta Responder a este mensaje
#3 Compumakro
14/12/2009 - 03:02 | Informe spam
Discúlpame Héctor, pero ya vi el error... lo puse después de "Next Fila"...
y es antes...Gracias

Saludos
Oscar

"Compumakro" escribió en el mensaje de
noticias:#$
Hector, muchas gracias...!!
Discúlpame por la tontería era obvio. hace rato no transito
Excel... y la memoria se distrae... Hasta me equivoqué en el
planteamiento pero ya lo corregí.

Ahí tengo ahora uno que sí no sé cómo ponerlo a funcionar el del
nombre propio... porque si ponen "litro" o "libra" con minúscula
no va a funcionar entonces puse el de nombre propio, pero no me
funciona.. Así quedó planteado en la penúltima fila:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
If Cells(Fila, 4) = "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila
Cells(Fila, 4) = Application.Proper(Cells(Fila, 4))

End Sub


Saludos

Oscar



"Héctor Miguel" escribió en el mensaje de
noticias:ey$
hola, Oscar !

... estoy haciendo una tabla para calcular costos, segun los
ingredientes en reposteria
Quiero que la tabla sea "automatica" segun el sistema de medida... libra
o Litro
Hice una formula pero no me funciona con "Or"... solo funciona con un
condicional... es decir... si le quito Or "Litro"... funciona



la linea que falla es porque NO debes "asumir" que la comparacion sigue
siendo con la misma "base" (es decir)... cambia:

de: -> If Cells(Fila, 4) = "Libra" Or "Litro" Then

a: -> If Cells(Fila, 4) = "Libra" Or Cells(Fila, 4) = "Litro" Then

saludos,
hector.

__ el codigo expuesto __
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Fila As Integer
For Fila = 14 To 30
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 5) = Cells(Fila, 6) * 2
Else: Cells(Fila, 5) = Cells(Fila, 6) * 1
End If
If Cells(Fila, 4) = "Libra" Or "Litro" Then
Cells(Fila, 7) = Cells(Fila, 5) * Cells(Fila, 3) / 1000
Else: Cells(Fila, 7) = Cells(Fila, 3) * Cells(Fila, 6) / 1000
End If
Next Fila
End Sub

Respuesta Responder a este mensaje
#4 Héctor Miguel
14/12/2009 - 03:41 | Informe spam
hola, Oscar !

... tengo ahora uno que si no se como ponerlo a funcionar el del nombre propio
... porque si ponen "litro" o "libra" con minúscula no va a funcionar...



tambien puedes evitar la "preocupacion" y que no importe como se haya escrito si cambias...

de esto: -> If Cells(Fila, 4) = "Libra" Then

a esto: -> If LcaseCells(Fila, 4)) = "libra" Then

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida