Necesito hacer un formulario de ingresos de datos...

Desde ya muchas gracias, tengo que hacer un formulario de ingresos de datos de la siguiente manera: desde una hoja tomar datos de nombres (combobox1), de otra columna de la misma hoja tomar datos de productos que tengan que ver con el nombre seleccionado anteriormente(combobox2), y de otra columna seleccionar subproductos que tengan que ver con "nombres" y "productos" anteriormentes seleccionados (combobox3), una vez seleccionados estos datos en un textbox colocar un nro de factura, en otro cantidad y en otro precio unitario, luego en una hoja en el mismo libro colocar por orden de aparición todos los datos( tanto los que están en los combobox como los de los textbox, desde ya muchas gracias.
Disculpe por las molestias ocasionadas pero en realidad del tema no entiendo mucho y el que ingresa los datos todos los días soy yo y me estoy volviendo un poco loco, desde ya muchas gracias.

1 Respuesta

Respuesta
1
En realidad hay varias formas de hacerlo.
Una forma es que cuando se selecciona el nombre del combo1, se recorre la columna buscando coincidencias y cuando se encuentran se hace un AddItem al combo2 con la info de la columna siguiente. Y así sucesivamente a medida que se va seleccionando una nueva opción de los combos.
Otra opción es creando una tabla que sea móvil y que a medida que vas seleccionando información en un combo, esta tabla (en una hoja de cálculo de excel) se vaya modificando y llevas la información a los combos mediante nombres de rangos (este puede resultar un poco más complicado).
La verdad que me facililito todo su respuesta ya que no sabia por donde empezar; en este momento estoy intentando hacerlo; en cuanto al resto de la prguunta me quedo sin contestar, si podría resolverla se lo agradecería "luego en una hoja en el mismo libro colocar por orden de aparición todos los datos(tanto los que están en los combobox como los de los textbox), desde ya muchas gracias...
¿Cuándo dices en orden de aparición es que se vaya colocando en una nueva fila cada vez?
Si es así, entonces pienso que una forma sencilla de hacerlo es determinando cuál es la última fila llena y llevando este dato en una variable indicar el nombre de celda que llevará cada dato, algo así:
x = Range("A1").End(xlDown).Row
Range("A" & Ltrim(str(x))).Value = TextBox1.Text
Range("B" & Ltrim(Str(x))).Value = TextBox2.Text
Y así sucesivamente. La idea de usar el End(xlDown), es considerando que hay datos abajo de A1, sino te devolverá 65256 (algo así) que es la última fila de Excel.
Ahora, con el fin de evitar errores cuando lleves la variable a concatenar con la letra de la columna, te recomiendo usar Ltrim(Str(x)) que lo que hace es eliminar los espacios que pueden aparecer cuando lo pases a texto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas