Operaciones con combobox excel vba

Me gustaría conocer si se puede realizar operaciones matemáticas con un combobox es decir que este control al seleccionar un item me haga una operación por ejemplo un convertidor de peso(MASA) el control me carga unos item(kilo, libra, gramos, litro), tengo un control de texto que cuando seleccione el item del combobox se digite en el cuadro de texto una cifra y este realice la operación de acuerdo a la selección del combobox cabe a notar que busco la manera de implementarlo en un formulario si se puede hacer,

El combo al iniciar el formulario queda cargado de acuerdo a esta línea

Cmb_Umedidapro.List = Array("Kilo", "Libra", "Gramos", "Litro", "Mililitro")

1 respuesta

Respuesta
1

La respuesta, es sí. Sí puedes hacer operaciones.

Para convertir de una unidad a otra unidad necesitas 3 datos.

Y en tu descripción solamente estás poniendo 2.

Por ejemplo si vas a convertir de Kilo a gramos. Necesitas un combo con kilo, otro combo con gramos y el valor a convertir.

Ya sabemos que un kilo es igual a 1000 gramos.

Por ejemplo, para convertir 4 kilos a gramos, tenemos 1 kilo, 1000 gramos y 4 kilos.

Con esos 3 datos puedes aplicar la regla de tres.

Revisa el siguiente vídeo para tener más claro el concepto de regla de tres.

https://youtu.be/JXILeCgQDpU 

Te muestro un ejemplo.

Con dos combos. Para convertir de kilo a gramos.

Private Sub CommandButton1_Click()
If Cmb_Umedidapro1 = "Kilo" And Cmb_Umedidapro2 = "Gramos" Then
TextBox2 = TextBox1 * 1000
End If
End Sub

Lo que pongas en textbox1 lo va a convertir a gramos, el resultado lo pone en el textbox2.

Hay que aplicar varias validaciones. Por ejemplo, si en el primer combo seleccionas kilo, entonces en el segundo combo solamente puedas seleccionar unidades de masa.

Revisa la función Convertir de excel, tiene las conversiones de masa, longitud, volumen, tiempo y otras más.

Puedes utilizar la función para tu formulario:

Private Sub CommandButton1_Click()
If Cmb_Umedidapro1 = "Kilo" And Cmb_Umedidapro2 = "Gramos" Then
TextBox2 = Evaluate("=CONVERT(" & TextBox1.Value & ",""kg"",""g"")")
End If
End Sub

¡Gracias! master  aunque realice otra función su teoría me lleva al objetivo de volverme experto en el campo de la programación  

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas