Realizar una fórmula en VB

Buenos Días
Hay un amigo que necesita realizar algo con la fórmula SI:
=SI(A1<=1,5;"Medio";"No Medio")
A1= Cualquier nuemro con un decimal Ej:1,2 - 3,1 - 4,5 - 5,5
1,5= representa cualquier entero (1 - 2 - 3 - 4...) con ,5. O sea 1,5 - 2,5 - 3,5..... Un entero y medio.
Lo que no se hacer es como automatizar para que compare con todos los entero y medio automáticamente sin yo tener que escribir uno por uno..
Saludos desde Barranquilla - Colombia

1 respuesta

Respuesta
1
Ase mil que no hago macros directamente desde el office, así que no me acuerdo mucho, pero acá te dejo como seria la fórmula con un ejemplo VB.
El if cumple la misma función que el si en Excel.
En excel es casi = ya que se programa en VBA lo que no me acuerdo exacto como hacer referencia a las hojas y celdas pero busca en la ayuda, y no se si a cambiedo algo entre versiones.
Por lo menos tienes una idea. 'x es el numero con un decimal
'Fin es el hasta que numero quieres llegar como maximo, puse 3 por poner un numero chico para pruebas pero puedes poner el que quieras.
'x es el numero con un desimal
'y es el numero + 1/2
fin = 3
For x = 1.1 To fin Step 0.1
    'Comprobamos que no nos pasemos
    If x = fin Then Exit For
    'Comprobamos que siempre tenga un decimal
    If Len(x) = 1 Then
        x = x + 0.1
    End If
    For y = 1 To fin
        If x <= (y + 0.5) Then
            'Valor verdadero
        Else
            'Valor Falso
        End If
    Next
Next
Espero Haberlo entendido bien si no funciona o no es tal cual lo planteaste decime que te ayudo, pero con este modelo creo que llegarías a buen puerto.
No te enojes si no es 100% para el excel ni una solución armada, no es algo contra tuyo pero viste como es todos quieren una solución a medida acá todos ayudamos desiteresadamente.
Creo que la comprobación para ue no se pase se puede omitir es que la puse por las dudas por si me desvordaba como no lo probé ni lo analice en profundidad solo puse una idea de como se podía hacer, no es que me tome el tiempo como para hacer un desarrollo seriamente.
Gracias amigo por responder mi pregunta... aun no la he probado a ver si funciona pero en el transcurso de la tarde lo haré y te comento si me funciono o que le hace falta... Gracias por el interés...
Buenas... ya intente poner la función en marcha pero no me ha salido...
La tengo tal y como la muestro a continuación:
Function EnteroMedio(X) As String
'x es el numero con un desimal
'Fin es el hasta que numero quieres llegar como maximo, puse 3 por poner un numero chico para pruebas pero puedes poner el que quieras.
'x es el numero con un desimal
'y es el numero + 1/2
Fin = 3
For X = 1.1 To Fin Step 0.1
'Comprobamos que no nos pasemos
If X = Fin Then Exit For
'Comprobamos que siempre tenga un decimal
If Len(X) = 1 Then
X = X + 0.1
End If
For Y = 1 To Fin
If X <= (Y + 0.5) Then
ActiveCell.Value = "Es medio"
Else
ActiveCell.Value = "No Es Medio"
End If
Next
Next
End Function
Pero me sale un Mensaje de Excel que dice: "Microsoft Office Excel no puede calcular esta fórmula. Existe una referencia circular en algún libro abierto, pero no es posible realizar una lista con las referencias que la causan. Intente modificar la fórmula..."
No he podido... ha y otra cosa. Como hago para que cuando sea entero escriba "Es Medio" y cuando no se cumpla la condición escriba "No Es Medio". No se si lo hice bien colocando : ActiveCell. Value = "No Es Medio"?
Gracias por tu atención y ayuda... espero me puedas seguir ayudando...
Barranquilla - Colombia.
Bue no tuve tiempo de leerlo, pero deberías cambiar de celda para poner cada valor
por ejemplo si estoy en A1, Después paso a A2, etc. algo así entendés. Después lo pruebo
y veo si te cargo en excel, yo uso la version 2007. Saludos.
Dame un toque de tiempo estuve conos kilombos(problemitas), no grabes pero que me
mantuvieron ocupados.
Cualquier cosa te mando el archivo por mail.
Suerte capo, dime para que se va a usar esta función, si es que se puede saber.
... la fórmula no se exactamente para que es, es para un amigo que se encuentra en otra ciudad y no sabe mucho de fórmulas y demás... el trabaja en asesorías de construcción y creo que es para decirle a los clientes que ingrese por ejemplo los metros que quiere que tenga su piscina y automáticamente sepa la cantidad de cemento a utilizar... creo que es para algo de ese estilo.
Y te agradecería si me mandas el ejemplo en una hoja de excel... Gracias por todo.
Email: [email protected]
Saludos desde Barranquilla - Colombia
OK. Seguimos en PV.
Hola Amigo, no he recibido aun el ejemplo... Mi amigo no me ha solicitado más la fórmula, por eso no he insistido, aunque me hubiese gustado culminar con la fórmula. Gracias por tu atención y Saludos.
Barranquilla - Colombia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas