Multiplicar un campo con un ComboBox1

Buenas Tardes, necesito una ayuda...:
lel problema es si uno ingresa un datos en campo RETAL POR OP, (ejem: 5, 4, 1, 10) y luego selecciona el campo ComboBox1 y selecciona alguno de los datos que son:
ComboBox1.AddItem "Retal 132 HILOS" (4.25)
ComboBox1.AddItem "Retal 150 HILOS" (3.32)
ComboBox1.AddItem "Retal 180 HILOS"
ComboBox1.AddItem "Retal 200 HILOS" (3.32)
ComboBox1.AddItem "Retal 250 HILOS" (1.89)
ComboBox1.AddItem "Retal 300 HILOS" (3.53)
ComboBox1.AddItem "Retal Gabardinita"
ComboBox1.AddItem "Retal Flecce"
ComboBox1.AddItem "Retal Toalla"
ComboBox1.AddItem "Retal Alphatex"
Cada uno de ella lleva un estándar. Ejemplo Retal 132 HILOS = 4.25, Retal 132 HILOS = 3.32, asi sucesivamente.
Cuando seleccione alguno; esta MULTIPLIQUE según la cantidad que se ingreso en RETAL POR OP y lo muestre el resultado campo MTS
EJEMPLO:  3*4.25=12.75.
                  Retal x OP * Retal 132 HILOS = mts
Ejemplo link imagen
http://img858.imageshack.us/i/pruebam.jpg/
Quien me puedea colaborar Muchísimas Gracias, ya que ando haciendo un proyecto de practica en la Universidad. Mil Gracias
.

1 respuesta

Respuesta
1
De nuevo (xxxxxx),
Te comento, suponiendo que el "Retal por OP" es textbox8 y el combo es Combobox1, haz lo siguiente:
Abre visual basic, abre tu userform y haz doble click sobre el textbox "MTS" y añade estas 3 lineas, cambia el nombre de los textbox y combobox si no te coinciden:
Private Sub TextBox9_Change()
TextBox9 = Val(ComboBox1) * Val(TextBox8)
End Sub
Esto quiere decir que cada vez que cambie el textbox te realizará esa operación, multiplicar los valores (Val) de cada combo o textbox que quieras.
Hola Danimm, Muchas gracias por atenderme en mis dudas.
Lo que me explicaste no me está funcionando y creo que no me multiplicaría como deseo, te explico mejor:
Tengo el campo Retal por OP, al ingresar un datos ósea cualquier numero 5,6, 7,10,20 y luego seleccionamos un en la lista del comboBox1 cualquieras de estas:
Retal 132 HILOS"
Retal 150 HILOS"
Retal 180 HILOS"
Retal 200 HILOS"
Retal 250 HILOS"
Retal 300 HILOS"
Retal Gabardinita"
Retal Flecce"
Retal Tolla"
Retal Alphatex"
Cada opción de esta lista del comboBox tiene un valor, ósea un estándar por defecto. Ejemplo: el Retal 132 HILOS equivales a 4.25mts, el Retal 150HILOS equivale a 3.32 y así sucesivamente con las demás. Cuando al momento de ingresar en el campo Retal por OP y seleccionamos un algunas del comboBoxt1 está la multiplique y coloque el resultado al lado del comboBox en el campo MTS.
En el código que me mandaste solo escogería un solo valor y cada opción del comboBox tiene un valor.
No sé si es mucho pedir, me gustaría que vieras lo que estoy haciendo y mandártelo al correo. Otra vez espero que me colabores. Muchísimas Gracias,
El mejor de los Días.
Entonces podrías hacer una condicional, es decir, en el textbox MTS, algo similar a esto (amoldalo a tu excel):
Private Sub TextBox8_Change() 'este es el textbox MTS por ejemplo
If ComboBox1 = "retal 132 hilos" Then 'si elegimos esta opcion...
TextBox8 = Val(TextBox7) * "4.25" 'multiplica el valor del text7 por 4.25...
Else ' si no es así ...
If ComboBox1 = "retal 150 hilos" Then 'si elegimos esta opcion...
TextBox8 = Val(TextBox7) * "3.32" 'multiplica el valor del text7 por 3.32
End If 'fin de la primera condicional
End If 'fin de la segunda condicional
End Sub
Por cierto, todo lo que he escrito después de " ' " son comentarios, también los puedes poner en el código para saber lo que significa cada linea de comando.
Si tienes esos diez artículos, haz lo mismo que yo pero añadiendo hasta 10 veces las opciones que quieres.
Perfecto Danimm me funciona, pero tengo una duda... por que no me muestra el resultado automáticamente, me sale si me coloco en el campo y le doy espaciadora. Me gustaría que al momento de seleccionar en el comboBox1 me mostrara el resulta automático en MTS y que no me vaya a ese campo. Esa seria mi ultima consulta... y muchísimas gracias
SAludos,
Donde te he puesto:
Private Sub TextBox8_Change()
Quiere decir, hacer si Textbox8_Cambia/modifica, por eso cuando modificas usando el espacio te da el resultado, así que, todo el código anterior lo puedes asignar al textbox o combobox que quieras.
Por ejemplo:
Private Sub ComboBox1_Change()
If ComboBox1 = "retal 132 hilos" Then
TextBox8 = Val(TextBox7) * "4.25"
Else
If ComboBox1 = "retal 150 hilos" Then
TextBox8 = Val(TextBox7) * "3.32"
End If
End If
End Sub
P.D: Por cierto, cuando presentes el proyecto en la universidad, no olvides añadir mi nombre al proyecto, jejejeje
Hola Danimm claro que lo haré, diré que tuve un tutor excelente, pero tengo una ultima duda para finalizar esto, y que hice una fórmula y me sale error 13 Depuración y pienso que mi fórmula esta bien.
te explico... esta es mi fórmula:
Private Sub TextBox32_Change()
TextBox32.Text = Val(TextBox25.Text) * Val(TextBox15.Text + (Val(TextBox16.Text))) + Val(TextBox30.Text)
End Sub
MTS EXTENDIDOS 1 = UND CORATADAS 1 * (CODIGO TELA 1 + CODIGO DE TELA 2) + RETAL X OP
OSEÀ   8 (und cortadas)*la sumataria de 2 campos ( 2.3 (codigo de tela 1) + 2.3 (codigo de tela 2) + 2 (retal x op)
no sè si falta declarar alguna variable con mi formula...la verdad no se me sale ese error pero me da el resultado que es.
¿Me puedes ayudar con esta duda aquí o realizo una nueva pregunta?
Muchas Gracias, te agradezco mucho.
Ahora no puedo probar tu código, ya que me llevaría crearme un form, textbox etc, pero le estás indicando a los textbox la palabra .text = texto, quizás sea eso lo que te da problemas, quítaselo directamente para que quede:
TextBox32 = Val(TextBox25) * (Val(TextBox15 + Val(TextBox16))+ Val(TextBox30)
Además te he cambiado algunos paréntesis, que creo que has puesto de más.
Prueba y si no vemos otra cosa.
Buenas Tardes Danimm, he intentado de las mil formas y aun me sale ese error 13 de depuración, con el tuyo y el que tenia, les quite el .text y nada. Seguiré probando y si puedes me colaboras también en saber por que ese error.
TextBox32 = Val(TextBox25) * (Val(TextBox15 + Val(TextBox16)))+ Val(TextBox30)
Muchas Gracias!
Que pena contigo Dani, ahora es que ella me esta dando mucho estrés esto,...; de esa misma fórmula se me ocurrió otra duda, que pasa si solo se ingresa un solo código de tela 1 y y no 2. no me arrojaría la misma información que cuando coge la sumatoria de los 2 códigos lado 1 y lado 2. ya me no se que hacer :S
Gracias y disculpa tanta molestia.. se me esta enredando esto cada vez más :S
Puedes usar una condicional al principio del botón que uses para guardar la información:
if textbox25 is empty then 'si el textbox25 está vacio
msgbox "Debes rellenar este campo" 'muestra el siguiente mensaje
else 'si no esta vacio ...
'aqui van tus instrucciones
end if 'fin de la condicional
Prueba a ver que tal.
Y en cuanto a lo de esa operación que te marca error, no veo ningún fallo en principio, solo te puedo decir, que si quieres me puedes mandar ese proyecto y le hecho un vistazo dannnymm[arroba]ono[punto]com
¿Cómo lo llevas?
¿Has terminado ya "nuestro" proyecto? Je je
Hola Dani, te cuento que he pasado buscando como arreglar ese error y aun nada, unos me dicen que declre variables, otros me dicen que esta bien.. bueno aun no sé que pasa con ese error, y lo presente así y me dijeron que corrigiera eso para esta semana... me voy a decicar toda la mañana a buscar la solución, deseas que finalize la pregunta, por que no hay necesidad que lo diga me has ayudado demasiado y un excelnete tutor je je... si sabes de allguna duda me comentas...
Mi Dios te pague y Saludos,
Buen día...
Pues como te dije en tu correo, sé de donde viene el problema pero no he probado a solucionarlo, la verdad...
Como te dije era porque dejabas los textbox en blanco, y por eso te señalaba en amarillo el error.
Te comenté que podías hacer una condicional algo así como
if textbox1 = empty then
...
Pero si no funciona, también puedes probar con variables.
En cuanto a cerrar la pregunta, por mi si, ya que tienes mi correo y si necesitases cualquier cosa referente a este proyecto te ayudaría encantado siempre que yo sepa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas