Cree unas USERFORM pero no se como darle comandos para activarlas, la finalidad es para ingresar productos a una planilla BASE. Los datos que ingrese en las userform se deben insertar en la hoja base de excel con un botón que dise grabar nota... Ya que la planilla es un poco enredada necesito enviarla a la persona que me ayude. De ante mano.
1 respuesta
Respuesta
2
2
Anónimo
Voy a darte el primer empujón: En primer lugar create un botón (commandbutton1) e insértale el siguiente código: Private sub commanbutton1_click() userform1.show 'estas 3 lineas son para que se muestre el form que has hecho tu end sub Suponiendo que queremos empezar a meter datos en A2 de la hoja1, puesto que la primera fila es donde tenemos la cabecera (nombre, datos1, datos2, etc) y que tenemos un userform con 5 textbox para introducir datos y un botón en el form para guardar, escribimos el siguiente código en el botón guardar: Private Sub CommandButton1_Click() Sheets("hoja1").Select 'selecciona la hoja "datos" Range("A1").Select 'selecciona el rango (en este caso la celda) "A1" Do While Not IsEmpty(ActiveCell) 'encuentra la ultima celda con datos ActiveCell.Offset(1, 0).Select 'en la ultima celda con datos, muevete una fila abajo Loop 'bucle ActiveCell = TextBox1 'copia el contenido del textbox1 a la celda activa ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha ActiveCell = TextBox2 'copia el contenido del textbox2 a la celda activa ActiveCell.Offset(0, 1).Select ActiveCell = TextBox3 ActiveCell.Offset(0, 1).Select ActiveCell = TextBox4 ActiveCell.Offset(0, 1).Select ActiveCell = TextBox5 ActiveCell.Offset(0, 1).Select TextBox1 = Empty 'textbox1, dejar en blanco TextBox2 = Empty 'etc TextBox3 = Empty TextBox4 = Empty TextBox5 = Empty MsgBox "Datos guardados" 'mostrar el mensaje "Datos guardados" End Sub Todo esto suponiendo que el form se llama "userform1", el botón "commandbutton1, y los textbox1, 2,3 etc. Acomoda esto a tu hoja y seguimos viendo a ver que tal.
Estimado, muchas gracias por la ayuda me ha servido todo... Pero aun tengo que seguir modificando... tengo 2 consultas, la primera: Tengo en la celda a1 (Local) en la celda b1 (producto) y en la c1 (cantidad) [estos serian los nombres de cabezera] al ingresar los datos en el UserForm ingreso solo una vez el local y varios productos con sus respectivas cantidades. [Local][Producto][Cantidad] [5251][1010002][ 200] [ ][1010078][ 150] [ ][1010096][ 100] ETC... Lo que necesito es que al presionar el botón grabar se auto-complete hacia abajo hasta donde llegan las otras cantidades. La segunda es: Al momento de ingesar un código manual de producto en un TextBox necesito que en un Label (no se si sera ese) me de una denominación como la fórmula Buscar. Ejemplo. [Producto][Denominación] [1010002][Pollo con men] Estimado, quedo atento... y Gracias por la ayuda! Atentamente. Patricio Espinosa.
Podrías jugar con el código: ActiveCell.Offset(0, 1).Select Que sirve para moverte por las celdas de excel, el anterior código quiere decir que en la misma fila, se mueva una columna hacia la derecha, es decir, si la última celda seleccionada fue A6, ahora le hemos dicho que se sitúe en A7 y después: ActiveCell = TextBox1 es decir, que en la celda activa copie el contenido del textbox1. Pues básicamente sería lo mismo, pero moviéndote fila arriba o abajo. Ejemplos: activecell.offset(1, 0).select significa que se mueva una fila abajo en la misma columna ActiveCell.Offset(1, 1).Select significa que se mueva una fila abajo y una columna a la derecha ActiveCell.Offset(0, -1).Select Significa que se mueva una columna a la izquierda etc. Acopla esto a tu proyecto y en cuanto pueda te comento lo de buscar la denominación del producto según referencia.
Estimado... la primera solución no me ha servido. Tienes alguna otra solución. Esperando tu ayuda, muchas gracias. Atentamente. Patricio Espinosa.
Cuando dices la primera solución, ¿te refieres a mi primera respuesta? Es que me dijiste que te sirvió todo. ¿Por qué no te funcionó? ¿Te dio algún error? Creo que con la función offset puedes solucionar tu problema, ¿no? Deberías especificar un poquito más para poder ayudarte. Si quieres mandame tu proyecto a mi correo y veo el porqué no te sirve y veo si te puedo dar alguna otra solución. MI correo dannnymm[arroba]ono[punto]com
Estimado... acabo de enviar la planilla al correo mencionado. Esperando me puedas ayudar, muchas gracias. Atentamente. Patricio Espinosa. PD: La primera respuesta estuvo todo excelente. Me manie con la respuesta de como auto-completar.
Te respondí a tu correo.
Te he vuelto a mandar otra vez tu excel modificada para que guarde los datos como tu quieres, echale un vistazo y me dices algo.
Muchas gracias anonimus, muy útil me sirvió - Jimmy S.Gonzalez