
Me gustaría saber si es posible hacer que Excel funcione como algunas calculadoras en línea que he visto. Por ejemplo:
El principal punto de diferencia es que están diseñados para que cada 'celda' de la calculadora sepa si se le ha ingresado un valor; luego calculará condicionalmente su valor dependiendo de su relación funcional con las demás (o no). .
Este utiliza un botón 'calcular', sin embargo, hay ejemplos con actualización en vivo al estilo Excel, en el caso de que aún no haya suficientes valores y/o valores contradictorios, generalmente indicarán esto, sin embargo, esta no es una característica esencial (aún ).
Intenté implementar algo similar en Excel con condicionales, pero encuentro que la lógica de la celda se está volviendo demasiado compleja.rápido. En mi caso, no me ayudó, ya que los valores en el sistema que estoy resolviendo (no el anterior) se pueden calcular a partir de diferentes subconjuntos de entradas; se podría decir que están "sobredefinidos".
¿Tiene Excel una opción o modo que pueda crear este estilo de interfaz de forma rápida y sencilla?
Alternativamente, ¿alguien ha construido algo similar y estaría dispuesto a compartir sus trucos?
Simplemente por mi propia productividad (y la de otros, ¡espero!), no espero que esté en línea...
Respuesta1
Esto se puede hacer de la siguiente manera en la hoja de cálculo de Excel usando VB
Sabemos que el volumen de un cubo = largo * ancho * alto
Hagamos una calculadora para esto:
Dado cualquier 3, se debe encontrar el 4to valor
Crear hoja de cálculo de Excel
En A1, A2, A3 Escriba Largo, Ancho, Alto. Deje A4 en blanco en el volumen tipo A5
Ahora cree un botón usando la barra de herramientas y haga clic derecho en el botón y cambie el texto a "CALCULAR" para darle el nombre requerido al botón.
Ahora haga clic derecho en el botón y asigne una macro a este botón. Creando el comando al hacer clic en el botón de la siguiente manera:
Sub Button1_Click()
If Range("B1").Value = 0
Then Range("B1").Value = Range("B5").Value / Range("B3").Value / Range("B2").Value
If Range("B2").Value = 0
Then Range("B2").Value = Range("B5").Value / Range("B1").Value / Range("B3").Value
If Range("B3").Value = 0
Then Range("B3").Value = Range("B5").Value / Range("B2").Value / Range("B1").Value
If Range("B5").Value = 0
Then Range("B5").Value = Range("B1").Value * Range("B2").Value * Range("B3").Value
End Sub
Respuesta2
Hacer esto con las celdas de la hoja de cálculo puede ser un poco complicado, como ya habrás descubierto.
Pero es bastante fácil hacer esto con VBA. El código puede estar en un evento Worksheet_Change, que se puede configurar para que se active cada vez que se cambia cualquiera de las cuatro celdas.
La lógica entonces es sencilla: si exactamente tres celdas tienen un valor, determine cuál celda está vacía, realice el cálculo y coloque el resultado en esa celda.